速度と精度を高めるために Python 素数ジェネレーターを最適化するにはどうすればよいですか?

DDD
リリース: 2024-11-11 04:27:03
オリジナル
944 人が閲覧しました

How can I optimize my Python prime number generator for speed and accuracy?

Python の素数ジェネレーター

この Python コードは素数を生成することを目的としていますが、機能を最適化するにはいくつかの調整が必要です。

以下の修正されたコード:

import math

def main():
    count = 3

    while True:
        is_prime = True

        for x in range(2, int(math.sqrt(count) + 1)):
            if count % x == 0:
                is_prime = False
                break

        if is_prime:
            print(count)

        count += 1
ログイン後にコピー

問題と修正:

  1. 印刷の問題: 元のコードの印刷カウントプライムじゃなかったときでも。これは、if count % x != 0 条件で出力されており、素数性が保証されていなかったためです。修正されたコードは、is_prime が True の場合にのみ出力されます。
  2. ループ制御: 元のコードの continue ステートメントは、条件が満たされた場合にループ反復をスキップしましたが、次を使用して反復を終了する必要がありました。次の数値を処理するために中断します。
  3. 効率: 各数値の割り算を手動でチェックすることは、数値が大きい場合には非効率的になる可能性があります。修正されたコードではエラトステネスのふるいが使用されており、素数生成がより効率的です。

以上が速度と精度を高めるために Python 素数ジェネレーターを最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート