Menu
CoddyTech

Square Root (Integer)

Deine Funktion erhält eine nichtnegative Ganzzahl x und gibt ihre ganzzahlige Quadratwurzel zurück: die größte Ganzzahl r mit r × r ≤ x. Das ist die abgerundete Quadratwurzel. Bei einer Zahl, die keine Quadratzahl ist, erhältst du also die Wurzel aus der nächstkleineren Quadratzahl. Berechne sie selbst, ohne eine eingebaute Quadratwurzel- oder Potenzfunktion zu verwenden.

Funktion

mySqrt(x: integer) → integer
xinteger
die nichtnegative ganze Zahl, aus der die Quadratwurzel gezogen werden soll
Gibt zurückinteger
Die Quadratwurzel von x, abgerundet auf eine ganze Zahl

Einschränkungen

  • 0 ≤ x ≤ 231 - 1
  • Rufe keine eingebaute Funktion für Quadratwurzeln, Potenzen oder Exponenten auf.

Beispiele

Eingabe
x = 17
Ausgabe
4
Erklärung
4 × 4 = 16 ist höchstens 17, aber 5 × 5 = 25 ist mehr, also wird die Wurzel aus 17 auf 4 abgerundet.

lock icon+17 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Wie würdest du stattdessen die ganzzahlige Kubikwurzel finden, also das größte r mit r × r × r ≤ x, wenn x auch negativ sein könnte?

Code zurücksetzen
def mySqrt(x):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Eingabe

x = 17

Erwartet

4