求第10000个质数。
#include <stdio.h>
static const int MAXNUM = 100000;
void func()
{
register int i, j;
int cnt;
int flag;
int findvalue[MAXNUM] = {2};
int findvalue2[MAXNUM] = {4};
for(cnt = 1, i = 3; cnt < MAXNUM; i += 2)
{
for(j = 0; flag = ((findvalue2[j] <= i) && findvalue2[j] > 0); j ++) {
if(!(i % findvalue[j]))break;
}
if(!flag) {
findvalue[cnt] = i;
findvalue2[cnt ++] = i * i;
}
}
printf("%d/n", findvalue[MAXNUM - 1]);
}
int main()
{
func();
return 0;
}