The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
The answer is 142913828922, as surmised by the following program in C++.
#include <iostream>
#include <vector>
#include <fstream>
#define SIEVEMAX 2000000
int main(void)
{
// Fill bit vector with 1's, indicating a prime number
std::vector numberList(SIEVEMAX, true);
// Since evens are skipped by checking first bit, set first equal to two
unsigned long long count = 2;
for(int i = 3; i < SIEVEMAX; i++)
{
// and 0x1, since no even numbers posses the first "odd" bit set
// And in the sieve of erastothenes, if it has not yet been a factor of a previous number
// it is prime
if((i & 0x1) && numberList[i] == true)
{
count += i;
// Iterate through list by multiples of the current sieve seed
for(int j = i; j < SIEVEMAX; j += i)
{
if((i & 0x1) && numberList[j] == true)
{
numberList[j] = false;
}
}
}
}
std::cout << count;
return 0;
}