Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mencari Akar Kuadrat Integer dalam Python: Kaedah Mana Yang Terbaik?
Mengira Punca Kuasa Dua Integer dalam Python
Dalam Python, mencari punca kuasa dua integer yang tepat boleh menjadi satu cabaran. Walau bagaimanapun, terdapat beberapa kaedah yang tersedia untuk tugasan ini.
Satu pendekatan mudah ialah menggunakan kaedah Newton, yang secara berulang memperhalusi anggarannya bagi punca kuasa dua:
<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>
Kaedah ini mengira dengan tepat punca kuasa dua integer terbesar, yang kemudiannya boleh disahkan dengan mendarabnya dengan sendirinya untuk menyemak sama ada ia sepadan dengan nombor input.
Kaedah alternatif ialah menggunakan pembahagian integer untuk menyemak petak sempurna secara berulang:
<code class="python">def isqrt2(n): i = 1 while i * i <= n: i += 1 return i - 1</code>
Kaedah ini mempunyai struktur yang lebih ringkas tetapi secara amnya lebih perlahan daripada kaedah Newton untuk integer besar.
Akhir sekali, untuk Python versi 3.8 dan kemudian, modul matematik menyediakan fungsi isqrt terbina dalam yang mengira tepat punca kuasa dua integer dengan cekap.
<code class="python">from math import isqrt x = isqrt(49) # returns 7</code>
Dengan memilih kaedah yang sesuai berdasarkan kecekapan yang diingini dan versi Python, anda boleh mencari punca kuasa dua integer dengan tepat dalam pelbagai senario.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Akar Kuadrat Integer dalam Python: Kaedah Mana Yang Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!