トップページに戻る
次のC++のサンプルへ
前のC++のサンプルへ
Problem7 10001番目の素数
問題
素数を小さい方から6つ並べると2,3,5,7,11,13であり、6番目の素数は13である。
10001番目の素数を求めよ。
ソース
#include <stdio.h>
#include <limits.h>
void main()
{
int SosuuCnt=0;
for (__int64 I=2;I<=_I64_MAX;I++){
bool IsSosuu = true;
for(__int64 J=2;J*J<=I;J++){
if(I%J==0) {
IsSosuu=false;
break;
}
}
if (IsSosuu){
SosuuCnt++;
printf("%d番目の素数は%lld\n",SosuuCnt,I);
}
if (SosuuCnt==10001) return;
}
}
実行結果
省略
9997番目の素数は104711
9998番目の素数は104717
9999番目の素数は104723
10000番目の素数は104729
10001番目の素数は104743
解説
力まかせで順にチェックしてます。