第10問
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
#include <iostream> #include <math.h> using namespace std; long long int prime[1000000]; long long int table[100000000]; int primeCall(){ int flag=0; prime[0]=2; prime[1]=3; for(long long int i=0;i<3000000;i++) { if(i%2==0)table[i]=0; else table[i]=1; } for(long long int p=1;p<1000000;p++) { if(p%100==0)cout<<prime[p]<<endl; for(long long int i=prime[p];i<2001000;i+=2) { if(i%prime[p]!=0 && flag==0 && table[i]==1) { prime[p+1]=i; flag=1; } if(i%prime[p]==0) { table[i]=0; } } flag=0; if(prime[p+1]>2000000)break; }