//埃氏筛选法 void sieveofe(int p[],int n){ int i,j;
//初始化 p[0] = 0; p[1] = 0; p[2] = 1; for(i = 3;i <= n;i++){ p[i++] = 1; p[i] = 0; } int max = sqrt(n); for(i = 3; i <= max;i++) if(p[i]){ for(j = i+i;j < n;j += i) p[j] = 0; } }
int isprime(int n){ if(n == 3 || n == 2) return 1; int temp,i; temp = n % 6; if(temp != 1 && temp != 5) return 0; temp = sqrt(n); for(i = 3;i <= temp;i += 2) if(n % i == 0) return 0; return 1; }
// 试除法判断一个数是否为素数 int isprime(int n) { if(n == 2) return 1; if((n & 1) == 0) // 偶数:n % 2 == 0 return 0; int end = sqrt(n), i; for(i=3; i<=end; i+=2) { if(n % i == 0) break; } return i > end ? 1 : 0;