#include <stdio.h>
#include<math.h>
int main(){
int n,a,b[40000],k=1;
scanf("%d",&n);
for(int i=2;i<40000;i++)
{
a=0;
for(int j=2;j*j<=i;j++){
if(i%j==0){
a++;
break;
}
}
if(a==0){
b[k]=i;
k++;
}
}
printf("%d",b[n]);
}
当i=40000时候 只能过前三个,我试过4000以后数据输出基本为0; 当i=400000时候,全部过了。 想请教下,这是为什么?