#include <iostream>
#include <vector>
using namespace std;
vector<int> tabPrime;
bool isPrime(int n)
{
bool boolIsPrime = true;
int i = 0;
while (boolIsPrime && tabPrime.at(i) * tabPrime.at(i) <= n)
{
if (n % tabPrime.at(i) == 0)
boolIsPrime = false;
i++;
}
if(boolIsPrime)
tabPrime.push_back(n);
return boolIsPrime;
}
int main()
{
int numberWanted = 50;
tabPrime.push_back(2);
tabPrime.push_back(3);
for(int i = 5; i < numberWanted; i++) {
if (isPrime(i)) cout << i << endl;
}
cout << "There is" << tabPrime.size() << "primes numbers from 2 to" << numberWanted << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGludD4gdGFiUHJpbWU7CmJvb2wgaXNQcmltZShpbnQgbikKewogICAgYm9vbCBib29sSXNQcmltZSA9IHRydWU7CiAgICBpbnQgaSA9IDA7CiAgICB3aGlsZSAoYm9vbElzUHJpbWUgJiYgdGFiUHJpbWUuYXQoaSkgKiB0YWJQcmltZS5hdChpKSA8PSBuKQogICAgewogICAgICAgIGlmIChuICUgdGFiUHJpbWUuYXQoaSkgPT0gMCkKICAgICAgICAgICAgYm9vbElzUHJpbWUgPSBmYWxzZTsKICAgICAgICBpKys7CiAgICB9CgogICAgaWYoYm9vbElzUHJpbWUpCiAgICAgICAgdGFiUHJpbWUucHVzaF9iYWNrKG4pOwoKICAgIHJldHVybiBib29sSXNQcmltZTsKfQoKCmludCBtYWluKCkKewogICAgaW50IG51bWJlcldhbnRlZCA9IDUwOwogICAgdGFiUHJpbWUucHVzaF9iYWNrKDIpOwogICAgdGFiUHJpbWUucHVzaF9iYWNrKDMpOwogICAgZm9yKGludCBpID0gNTsgaSA8IG51bWJlcldhbnRlZDsgaSsrKSB7CiAgICAgICAgaWYgKGlzUHJpbWUoaSkpIGNvdXQgPDwgaSA8PCBlbmRsOwogICAgfQoKICAgIGNvdXQgPDwgIlRoZXJlIGlzIiA8PCB0YWJQcmltZS5zaXplKCkgPDwgInByaW1lcyBudW1iZXJzIGZyb20gMiB0byIgPDwgbnVtYmVyV2FudGVkIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==