ホームページ バックエンド開発 Python チュートリアル Python で数値の整数平方根を求めるにはどうすればよいですか?

Python で数値の整数平方根を求めるにはどうすればよいですか?

Oct 31, 2024 pm 01:12 PM

How to Find the Integer Square Root of a Number in Python?

Python での整数平方根の計算

Python には、数値の平方根を計算する方法がいくつか用意されています。ただし、これらのメソッドはどれも、近似や例外なしに整数の平方根を直接返すものではありません。

最初のコード スニペットで提案されているように、1 つのアプローチは math.sqrt() 関数を使用し、結果を次の値に丸めることです。最も近い整数。ただし、このアプローチは大きな整数に対しては正確ではない可能性があります。

より正確な方法には、方程式の根を見つけるための反復手法であるニュートン法を使用することが含まれます。次の 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>
ログイン後にコピー

この関数は、2 つの変数 x と y を初期化し、収束するまでそれらを繰り返し更新します。 x は整数平方根の最良の推定値を表し、y は x の値と n を x で割った整数の両方を組み込んだ更新された推定値を表します。 y が x 未満になると反復は停止します。これは、さらなる改良が不要であることを示します。

isqrt() の戻り値は、その二乗が n を超えない最大の整数です。結果が正確な整数平方根であるかどうかを確認するには、結果をそれ自体で乗算し、それを n と比較します。この関数は仕様上、完全でない平方根を処理し、例外は発生しないことに注意してください。

整数の平方根を計算するアルゴリズムは他にもいくつかありますが、一般に、ニュートン法は精度、速度、単純さのバランスが取れていると考えられています。

以上がPython で数値の整数平方根を求めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

Natural Language Toolkit(NLTK)の紹介 Natural Language Toolkit(NLTK)の紹介 Mar 01, 2025 am 10:05 AM

Natural Language Toolkit(NLTK)の紹介

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

See all articles