Problem 7

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

10001 番目の素数を求めよ。


プログラム
#include<stdio.h>

void main(void){
int num,i;
int s = 7; // 空のso[]の添え字
int so[10002] = {0,2,3,5,7,11,13};

printf("Q7:10001 番目の素数\n");
for(num = 14; ; num++){
for(i = 1; i < s; i++){
if(num % so[i] == 0) break; // 素数で割り切れたら繰り返しを抜ける
}
if(i == s){ so[s] = num; s++;}// so[s]に素数を入れインクリメント
if(s == 10002) break;
}
printf("%d\n",so[10001]);
}

結果
Q7:10001 番目の素数
104743

これは間違ってる気がする
後でやり直してみよう