素数打表
//.....
#define maxn 10000005
bool prime[maxn];
void getprime()
{
memset(prime,0,prime);
prime[0]=prime[1]=1;
for(int i=2;i<maxn-2;i++){
if(!prime[i]){
for(int j=i*2;j<maxn;j+=i){
prime[j]=1; //prime[j]为1代表i不是素数
}
}
}
}
//......
#include <string.h>
#include <math.h>
#define M 10000005
bool prime[M];
void get_prime()
{
int len = sqrt(M+0.5);
memset(prime,0,sizeof(prime));
for(int i=2;i<=len;i++){
if(prime[i] == 0){
for(int j=i*i;j <= M;j+=i)
prime[j]=1;
}
}
}