Exakte Ganzzahl-Quadratwurzelberechnung in Python
Das Bestimmen der genauen Quadratwurzel einer Ganzzahl ist eine häufige Aufgabe in der Programmierung. Während die math.sqrt-Funktion von Python eine Gleitkomma-Näherung bereitstellt, bietet sie kein ganzzahliges Äquivalent.
Standardbibliothekslösung
Ab Python 3.8 ist die math. Die Funktion isqrt wurde eingeführt, um eine exakte ganzzahlige Quadratwurzel bereitzustellen. Es berechnet effizient die ganzzahlige Quadratwurzel und sorgt so für ein exaktes Ergebnis.
Newton-Methode
Ein etablierter Ansatz zum Ermitteln der ganzzahligen Quadratwurzel ist das Newton-Verfahren. Es verbessert iterativ eine anfängliche Schätzung durch die Formel:
<code class="python">y = (x + n / x) // 2</code>
wobei x die aktuelle Schätzung und n die eingegebene ganze Zahl ist. Die Methode konvergiert schnell und liefert eine genaue ganzzahlige Quadratwurzel.
<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>
Alternative Algorithmen
Neben der Newton-Methode gibt es mehrere andere Algorithmen zur Berechnung ganzzahliger Quadratwurzeln. einschließlich:
Schlussfolgerung
Die ganzzahlige Quadratwurzel ist eine wesentliche Operation in verschiedenen Programmieranwendungen. Die Funktion math.isqrt von Python bietet eine praktische und effiziente Lösung, während die Methode von Newton einen alternativen Ansatz bietet. Durch die Nutzung dieser Techniken können Programmierer ganzzahlige Quadratwurzeln in ihrem Python-Code genau bestimmen.
Das obige ist der detaillierte Inhalt vonHier sind einige Überschriftenoptionen, die zu Ihrem Artikel passen und die Essenz des „Frage-und-Antwort'-Formats widerspiegeln: Option 1 (direkt und einfach): * So berechnen Sie die exakte Ganzzahl Squa. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!