首頁 > 後端開發 > Python教學 > 如何在 Python 中求整數平方根:哪一種方法最好?

如何在 Python 中求整數平方根:哪一種方法最好?

DDD
發布: 2024-10-28 06:03:32
原創
779 人瀏覽過

How to Find Integer Square Roots in Python: Which Method is Best?

在 Python 中計算整數平方根

在 Python 中,找到精確的整數平方根可能是一個挑戰。但是,有多種方法可用於此任務。

一個簡單的方法是使用牛頓法,該方法迭代地細化平方根的估計:

<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>
登入後複製

此方法準確計算最大整數平方根,然後可以透過將其與自身相乘來驗證它是否與輸入數字匹配。

另一種方法是使用整數除法迭代檢查完美平方:

<code class="python">def isqrt2(n):
    i = 1
    while i * i <= n:
        i += 1
    return i - 1</code>
登入後複製

此方法結構較簡單,但對於大整數通常比牛頓法慢。

最後,對於 Python 3.8 及更高版本,math 模組提供了一個內建的 isqrt 函數,可以計算精確的高效求整數平方根。

<code class="python">from math import isqrt

x = isqrt(49)  # returns 7</code>
登入後複製

根據所需效率和Python版本選擇合適的方法,可以在各種場景下準確求整數平方根。

以上是如何在 Python 中求整數平方根:哪一種方法最好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板