All pastes #1790851 Raw Edit

Something

public text v1 · immutable
#1790851 ·published 2010-02-09 02:03 UTC
rendered paste body
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>

typedef std::vector<long> infint;

#define MAX_PRIME 1000000000

int main()
{
    std::ifstream readfile("primes.txt");
    infint primes;
    long number = 1;

    while (readfile.good())
    {
        readfile >> number;
        if (number <= (MAX_PRIME / 2) + 100)  // 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;
            std::cout << number << std::endl;
            if (number <= (MAX_PRIME / 2) + 100)
                primes.push_back(number);
        }

    }

    std::cout << "Done :)\n";

    return 0;
}