Berechnen ganzzahliger Quadratwurzeln in Python
In Python kann das Finden einer exakten ganzzahligen Quadratwurzel eine Herausforderung sein. Für diese Aufgabe stehen jedoch mehrere Methoden zur Verfügung.
Ein einfacher Ansatz ist die Verwendung der Newton-Methode, die ihre Schätzung der Quadratwurzel iterativ verfeinert:
<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>
Diese Methode berechnet genau größte ganzzahlige Quadratwurzel, die dann durch Multiplikation mit sich selbst überprüft werden kann, um zu überprüfen, ob sie mit der Eingabezahl übereinstimmt.
Eine alternative Methode besteht darin, eine ganzzahlige Division zu verwenden, um iterativ nach perfekten Quadraten zu suchen:
<code class="python">def isqrt2(n): i = 1 while i * i <= n: i += 1 return i - 1</code>
Diese Methode hat eine einfachere Struktur, ist aber im Allgemeinen langsamer als Newtons Methode für große ganze Zahlen.
Schließlich bietet das Mathematikmodul für Python-Versionen 3.8 und höher eine integrierte isqrt-Funktion, die die genaue berechnet Ganzzahlige Quadratwurzeln effizient ermitteln.
<code class="python">from math import isqrt x = isqrt(49) # returns 7</code>
Durch Auswahl der geeigneten Methode basierend auf der gewünschten Effizienz und Python-Version können Sie ganzzahlige Quadratwurzeln in verschiedenen Szenarien genau ermitteln.
Das obige ist der detaillierte Inhalt vonSo finden Sie ganzzahlige Quadratwurzeln in Python: Welche Methode ist die beste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!