Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
racine_entiere [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


racine_entiere

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
racine_entiere [2015/03/10 06:42]
tyrtamos
racine_entiere [2015/03/10 08:36]
tyrtamos
Ligne 43: Ligne 43:
  
     # trouve une valeur approchée de la racine (important pour les grds nb)     # trouve une valeur approchée de la racine (important pour les grds nb)
-    rac1, i = n, 0 +    rac1, i = n, 1 
-    while rac1 0:+    while rac1 != 0:
         rac1 >>= 1         rac1 >>= 1
         i += 1  # i = compteur du nb de positions binaires utilisées         i += 1  # i = compteur du nb de positions binaires utilisées
Ligne 50: Ligne 50:
  
     # calcule la racine en partant de la racine approchée rac1     # calcule la racine en partant de la racine approchée rac1
 +    delta = n - 1
     while True:     while True:
         rac2 = (rac1 + n // rac1) >> 1         rac2 = (rac1 + n // rac1) >> 1
-        if rac2 == rac1: +        if rac2 >= rac1 and delta <= 1
-            return rac2+            return rac1 
 +        delta = abs(rac2 - rac1)  # on garde pour la prochaine boucle
         rac1 = rac2         rac1 = rac2
 </code> </code>
racine_entiere.txt · Dernière modification: 2015/03/15 09:31 de tyrtamos