Python で素数を正しく出力する方法: 奇数の出力に関する問題を解決する

Mary-Kate Olsen
リリース: 2024-10-21 12:38:02
オリジナル
918 人が閲覧しました

How to Correctly Print Prime Numbers in Python: Resolving an Issue with Odd Output

Python での素数の出力

Python ユーザーが 1 から 100 までの素数をリストしようとすると、出力が次のような問題に遭遇しました。素数の代わりに奇数を表示しました。これに対処するために、問題を詳しく調査し、修正された解決策を提供します。

以下に示すように、最初のコードは 1 から 100 までの数値を反復し、各数値について割り切れるかどうかを確認します。 2 からそれ自体までの任意の数値で置き換えます:

<code class="python">for num in range(1, 101):
    for i in range(2, num):
        if num % i == 0:
            break
        else:
            print(num)
            break</code>
ログイン後にコピー

このアプローチの問題は、ネストされたループの終了基準にあります。数値が因数 i で割り切れると判明すると、内部ループが中断され、print(num) ステートメントが実行されます。ただし、外側のループは、i の次の値と同じ数値のチェックを開始します。

これを解決するには、ループを更新して、2 から num の平方根までのすべての数値で割り切れるかどうかをチェックする必要があります。これらの約数がいずれも num を割らない場合、それは素数である可能性があります。修正されたコードは次のようになります。

<code class="python">for num in range(2, 101):
    prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            prime = False
            break
    if prime:
        print(num)</code>
ログイン後にコピー

このソリューションは、より小さな因数で割り切れる可能性を繰り返しチェックすることで素数を効率的に検出します。その結果、出力には 1 から 100 までの素数が正確に表示されます。

以上がPython で素数を正しく出力する方法: 奇数の出力に関する問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!