素数筛模板
int prime[700000],pcnt;
bool mark[10000007];
// 如果变量名都相同的话,就不用传参了
//void getPrimes(int prime[],int N,int &pcnt)
int getPrimes(int N)
{
memset(mark,0,sizeof(mark));
mark[0] = mark[1] = 1;
pcnt = 0;
for(int i = 2; i <= N ; i ++)
{
if(!mark[i])
prime[pcnt++] = i;
for(int j = 0 ; i*prime[j] <= N && j < pcnt ; j ++)
{
mark[i*prime[j]] = 1;
if(i%prime[j] == 0)
break;
}
}
return pcnt;
}