#pragma once #include #include class PrimeNumberGenerator { public: PrimeNumberGenerator(int start): start(start) { while (!Sieve()) { this->start = GetNextPrime(); } prime = true; }; bool Sieve() { if (start == 2 or start == 3) { return true; } else if (!(start % 2) or !(start % 3) or start == 1) { return false; } for (int div = 5; div <= sqrt(start); div += 2) { if (!(start % div)) { return false; } } return true; }; int GetNextPrime() { if (prime) { prime = false; return start; } do { ++start; } while (!Sieve()); return start; }; int start; bool prime; };