ホームページ > バックエンド開発 > C++ > 素数を効率的に生成するために C# コードを最適化するにはどうすればよいですか?

素数を効率的に生成するために C# コードを最適化するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-13 22:08:46
オリジナル
632 人が閲覧しました

How Can I Optimize My C# Code for Efficient Prime Number Generation?

C# での素数生成の強化

あなたの C# コードは、指定された範囲内の素数を識別することを目的としていますが、現時点では欠陥があり、出力がありません。問題は、素数性を決定するために使用されるアルゴリズムにあります。

コードを理解する:

prime_num メソッドは、指定された num までの素数を見つけようとします。 isPrimetrue に初期化し、0 から num までの数値を反復処理します。それぞれの数値 i について、2 から num までの数値で割り切れるかどうかをチェックします。 i がそれ自体以外の任意の数で割り切れる場合、isPrimefalse になります。すべてのチェックの後、isPrimetrue のままである場合にのみ、i は素数とみなされ、出力されます。

エラーの特定:

主なエラーは、外側のループの増分 (for (int i = 0; i <= num; i )) です。これには素数ではない 0 が含まれており、不要なチェックが実行されます。 内側のループでも冗長な計算が実行されます。

より効率的なソリューション:

最適な素数生成については、エラトステネスの篩を検討してください。このアルゴリズムは、2 から始まる各素数の倍数を排除することでパフォーマンスを大幅に向上させます。これにより、必要なチェックの数が大幅に削減されます。

要するに、元のコードの非効率性は、間違ったループ反復と冗長チェックに起因しています。 エラトステネスのふるいや試行除算ふるいなど、より効率的なアルゴリズムを採用すると、より迅速に正しい素数が得られます。

以上が素数を効率的に生成するために C# コードを最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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