// G. Hagopian -- PPP4 ex 11
/*
11. Create a program to find all the prime numbers between 1 and 100.
One way to do this is to write a function that will check if a number is
prime (i.e., see if the number can be divided by a prime number smaller
than itself) using a vector of primes in order (so that if the vector is
called primes, primes[0]==2, primes[1]==3, primes[2]==5, etc.). Then write
a loop that goes from 1 to 100, checks each number to see if it is a prime,
and stores each prime found in a vector. Write another loop that lists the
primes you found. You might check your result by comparing your vector of
prime numbers with primes. Consider 2 the first prime.
*/
#include
#include
using namespace std;
bool isPrime(int x, vector primes) {
for (int i = 0; primes[i] <= sqrt(x); ++i)
if (x % primes[i] == 0) return false;
return true;
}
int main() {
vector primes{ 2 };
unsigned max{};
cout << "What is the max for our list of primes? ";
cin >> max;
for (int i = 3; i < max; ++i) {
if (isPrime(i, primes)) primes.push_back(i);
}
for (int p : primes) cout << p << " ";
}