ホームページ > バックエンド開発 > C++ > 私のプログラムが長い変数内の素数の検索に失敗するのはなぜですか?どうすれば修正できますか?

私のプログラムが長い変数内の素数の検索に失敗するのはなぜですか?どうすれば修正できますか?

Mary-Kate Olsen
リリース: 2025-01-13 22:01:46
オリジナル
910 人が閲覧しました

Why is my program failing to find prime numbers within a long variable, and how can I fix it?

長い変数での素数識別のトラブルシューティング

長い変数内の素数を識別しようとすると出力が得られないという問題がユーザーから報告されました。 元のプログラムには、正しい結果を妨げる欠陥が含まれていました。

問題分析

主なエラーは、ループ変数の初期化が正しくないことが原因でした。 外側のループの条件 (i <= num) は非効率的であり、プログラムが無限に実行されるか、誤った結果が生成される可能性があります。

拡張コード

以下は、これらの問題を解決し、指定された範囲内で素数を効率的に見つける修正プログラムです。

<code class="language-csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PrimeNumberFinder
{
    class Program
    {
        static void FindPrimes(long num)
        {
            bool isPrime;
            for (long i = 2; i <= num; i++)
            {
                isPrime = true;
                for (long j = 2; j * j <= i; j++)
                {
                    if (i % j == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime)
                {
                    Console.WriteLine(i);
                }
            }
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Enter a number:");
            long inputNum;
            if (long.TryParse(Console.ReadLine(), out inputNum))
            {
                FindPrimes(inputNum);
            }
            else
            {
                Console.WriteLine("Invalid input. Please enter a valid long integer.");
            }
        }
    }
}</code>
ログイン後にコピー

パフォーマンスの強化

この改良されたコードはパフォーマンスが向上し、時間計算量が O(n log log n) に近づき、より広い範囲の数値に適しています。 内部ループ条件 (j * j <= i) は重要な最適化です。

以上が私のプログラムが長い変数内の素数の検索に失敗するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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