// C++ version of a Prime Number Finder // haplo@mindstab.net #include #include #include #include using namespace std; class CPrimes { public: void countPrimes(unsigned int MAX); }; void CPrimes::countPrimes(unsigned int MAX) { for(unsigned int cnt = 3; cnt <= MAX; cnt+=2) { int test = (int)sqrt((double)cnt); char isPrime=1; for(int i = 3; i<= test; i+=2) { if(! (cnt % i)) { isPrime = 0; break; } } if(isPrime) { cout << cnt << endl; } } } int main(int argc, char **argv) { int MAX; if(argc <= 1) { cout << "Useage: primescpp [Max Num]" << endl; return(1); } else { MAX = atoi(argv[1]); } if(MAX < 1) { cout << "Invalide Max Num" << endl; return(1); } CPrimes *primes = new CPrimes(); primes->countPrimes(MAX); delete primes; return(0); }