rendered paste body#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
typedef std::vector<long> infint;
#define MAX_PRIME 1000000000
int main()
{
const long higheststore = sqrt(MAX_PRIME) + 100;
std::ifstream readfile("primes.txt");
infint primes;
long number = 1;
while (readfile.good())
{
readfile >> number;
if (number <= higheststore) // Don't store primes greater then half the max.
primes.push_back(number); // Added the 100 to ensure no errors
}
readfile.close();
std::ofstream writefile("primes.txt", std::ios::app);
while (true)
{
number++;
if (number > MAX_PRIME)
break;
bool primetest = true;
infint::iterator it = primes.begin();
while (it != primes.end())
{
if (number % *it == 0)
{
primetest = false;
break;
}
if (number / 2 > *it)
break;
it++;
}
if (primetest)
{
writefile << number << std::endl;
if (number <= higheststore)
primes.push_back(number);
}
if (number % 1000000 == 0)
std::cout << number / 1000000 << " Million Checked" << std::endl;
}
std::cout << "Done :)\n";
return 0;
}