#include using namespace std; /*** Print positive primes <= a user-supplied value ***/ /*** Selected lines are numbered for later reference. ***/ int main() { unsigned posPrime, // possible prime posDiv, // possible divisor n; // user supplied limit // get nonzero limit do { cout << "Limit? (> 0, please) "; cin >> n; } while ( n <= 0 ); cout << "Primes <= " << n << endl; /* 1 */ for ( posPrime = 2; posPrime <= n; posPrime++ ) { // look for a divisor of a possible prime /* 2 */ for ( posDiv = 2; posDiv < posPrime; posDiv++ ) // if the divisor divides the candidate with // zero remainder, the candidate is not prime /* 3 */ if ( 0 == posPrime % posDiv ) break; // stop looking -- not a prime // no divisors, hence we have a prime /* 4 */ if ( posDiv == posPrime ) cout << posPrime << endl; } return 0; }