1 求第10002個素數
n 之前大約有 n/ln(n)個素數
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(){
float a = 100000;
int b = 100002;
while(a / log(a) < b)
{
a *= 1.1;
}
printf("%.2f\n", a);
int c = 150 * 10000;
int * d = (int *)malloc(sizeof(int) * c);
memset(d, 0, sizeof(int) * c);
for(int i = 2; i < c / 2; i++){
for(int j = i + 1; j < c / i; j++){
if(i * j < c){
d[i * j] = 1;
}
}
}
int e = 0;
for(int i = 2; i < c; i++){
if(d[i] == 0){
e++;
}
if(e == 10002){
printf("%d", i);
break;
}
}
return 0;
}