SQRT (X) Funktion Implementierung;Was ist $ (i ^ 2 \ leq x) \ land ((i + 1) ^ 2> x) $ checking?

cs.stackexchange https://cs.stackexchange.com/questions/121504

  •  29-09-2020
  •  | 
  •  

Frage

kürzlich arbeitete ich an einem leotercode Frage

generasacodicetagpre.

Hier ist eine Lösung, die ich wirklich mag und verstehe, außer für eine Linie.Es verwendet eine binäre Suche, um zur Lösung zu gelangen:

generasacodicetagpre.

Die konzeptionelle Frage ist: Warum ist es true, dass es eine bestimmte Anzahl, sagen, $ I $ , $$ (i ^ 2 \ leq x) \ land ((i + 1) ^ 2> x) $$ gibt zurück, ob $ i $ ist die abgeschnitteneGanzzahl-Darstellung der Quadratwurzel von $ x $ ?(Der Codeblock oben kehrt auf den identischen Zustand zurück, aber Ungleichheit wird neu angeordnet, um Ganzzahlüberlauf zu vermeiden)

War es hilfreich?

Lösung

Ich werde die beiden Ungleichungen zusammenstellen, zur Lesbarkeit: $ i ^ 2 \ leq x <(i + 1) ^ 2 $ .

Das positive Quadrat einer positiven Zahl ist eine Monoton-Funktion.Daher, $$ I ^ 2 \ leq x <(i + 1) ^ 2 \ Impliziert i \ leq | \ sqrt {x} |

Dann ist der Interger-Teil von $ | \ sqrt {x} | $ ist offensichtlich $ i $ .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top