トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

Problem7 10001番目の素数

問題

素数を小さい方から6つ並べると2,3,5,7,11,13であり、6番目の素数は13である。
10001番目の素数を求めよ。


ソース

using System;

class Program
{
    //const int TargetNo = 6;
    const int TargetNo = 10001;

    static void Main()
    {
        int SosuuCnt = 0;

        for (int I = 2; I < int.MaxValue; I++) {
            bool IsSosuu = true;
            for (int J = 2; J * J <= I; J++) {
                if (I % J == 0) {
                    IsSosuu = false;
                    break;
                }
            }
            if (IsSosuu) {
                SosuuCnt++;
                Console.WriteLine("{0}番目の素数は{1}", SosuuCnt, I);
                if (SosuuCnt == TargetNo)
                    break;
            }
        }
    }
}


実行結果

省略
9997番目の素数は104711
9998番目の素数は104717
9999番目の素数は104723
10000番目の素数は104729
10001番目の素数は104743


解説

試し割りで素数判定してます。