Maison > Article > développement back-end > Comment trouver des racines carrées entières en Python : quelle méthode est la meilleure ?
Calcul de racines carrées entières en Python
En Python, trouver une racine carrée entière exacte peut être un défi. Cependant, plusieurs méthodes sont disponibles pour cette tâche.
Une approche simple consiste à utiliser la méthode de Newton, qui affine de manière itérative son estimation de la racine carrée :
<code class="python">def isqrt(n): x = n y = (x + 1) // 2 while y < x: x = y y = (x + n // x) // 2 return x</code>
Cette méthode calcule avec précision la racine carrée entière la plus grande, qui peut ensuite être vérifiée en la multipliant par elle-même pour vérifier si elle correspond au nombre saisi.
Une méthode alternative consiste à utiliser une division entière pour vérifier de manière itérative les carrés parfaits :
<code class="python">def isqrt2(n): i = 1 while i * i <= n: i += 1 return i - 1</code>
Cette méthode a une structure plus simple mais est généralement plus lente que la méthode de Newton pour les grands entiers.
Enfin, pour les versions 3.8 et ultérieures de Python, le module mathématique fournit une fonction isqrt intégrée qui calcule la valeur exacte racine carrée entière de manière efficace.
<code class="python">from math import isqrt x = isqrt(49) # returns 7</code>
En choisissant la méthode appropriée en fonction de l'efficacité souhaitée et de la version Python, vous pouvez trouver avec précision des racines carrées entières dans divers scénarios.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!