Menu
CoddyTech

Square Root (Integer)

Votre fonction reçoit un entier non négatif x et renvoie sa racine carrée entière : le plus grand entier r tel que r × r ≤ x. Il s’agit de la racine carrée arrondie à l’entier inférieur ; ainsi, pour un nombre qui n’est pas un carré parfait, on obtient la racine du carré parfait inférieur. Calculez-la vous-même, sans utiliser de fonction intégrée de racine carrée ni de puissance.

Fonction

mySqrt(x: integer) → integer
xinteger
l’entier non négatif dont il faut extraire la racine carrée
Renvoieinteger
la racine carrée de x arrondie à l’entier inférieur

Contraintes

  • 0 ≤ x ≤ 231 - 1
  • Ne faites pas appel à une fonction intégrée de racine carrée, de puissance ou d’exponentiation.

Exemples

Entrée
x = 17
Sortie
4
Explication
4 × 4 = 16 est inférieur ou égal à 17, mais 5 × 5 = 25 est supérieur, donc la racine de 17 est arrondie à l’entier inférieur, soit 4.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Comment trouver plutôt la racine cubique entière, le plus grand r tel que r × r × r ≤ x, si x pouvait aussi être négatif ?

Réinitialiser le code
def mySqrt(x):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Entrée

x = 17

Attendu

4