memset(isprime,1,sizeof(isprime)); isprime[1]=false; for(int i=2;i<=N;i++){ if(isprime[i]){ prime[++primesize]=i; } for(int j=1;j<=primesize&&i*prime[j]<=N;j++){ isprime[i*prime[j]]=false; if(i%prime[j]==0){ break; } } }