diff --git a/src/Main.cpp b/src/Main.cpp index 5b495fe..f0686e4 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -1,6 +1,38 @@ #include +#include +#include + +static bool run; + +void leave(int signum); int main(void) { std::cout << "Indivisible v0.1\n"; + run = true; + + signal(SIGINT, leave); + + std::vector primes; + primes.push_back(2); + unsigned long long num = 2; + + while(run) { + bool isPrime = true; + for(auto i : primes) { + if(i > num / 2) break; + if(num % i == 0) isPrime = false; + } + if(isPrime) { + primes.push_back(num); + std::cout << num << std::endl; + } + ++num; + } + return 0; } + +void leave(int signum) { + std::cout << "Exiting (" << signum << ")\n"; + run = false; +}