#include #define MAX 2000000 int table[MAX+1]={0}; int primes[MAX]; int main() { int nPrimes,i,j; long long sum=0; for (i=2;i<=MAX;++i){ if (table[i]==0){ primes[nPrimes]=i; nPrimes++; sum+=i; } //sieve for (j=2;j<=primes[nPrimes-1];++j){ if (i*j>MAX) break; else table[i*j]=1; } } printf("%lld\n",sum); return 0; }