1 bool prime[maxn]; 2 void set() 3 { 4 memset(prime,true,sizeof(prime)); 5 int tmp; 6 for(int i=3;i<maxn;i++){ 7 tmp=(i+1)/2; 8 for(int j=2;j<=tmp;j++){ 9 if(i%j==0){ 10 a[i]=false; 11 break; 12 } 13 } 14 } 15 } 16 //true 是素数 17 //false 不是素数
1 bool prime[9989900]; 2 void set() 3 { 4 for(int i = 2; i<=9989899; i+=2) 5 prime[i] = true; 6 for(int i = 3; i<=3161; i++){ 7 if(prime[i]) 8 continue; 9 for(int j = i+i; j<=9989899; j+=i) 10 prime[j] = true; 11 } 12 }