トップページに戻る
次の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
解説
試し割りで素数判定してます。