#include <cmath>
#include <iostream>
bool isPrime(int num)
{
// If your function is only executed from that loop above, delete this statement.
if(num < 2)
// Technically speaking this should be false. (I don't know if your code requires these numbers to be true.)
return true;
if(!(num % 2))
return false;
int sqrt_n = sqrt(num); // changed varaible name, it conflicted with sqrt()
for (int i=3; i<sqrt_n; i += 2)
if (!(num % i))
// You can stop after you found the first divisor
return false;
return true;
}
int main() {
for (int i = 0; i < 100; ++i) {
if (isPrime(i)) {
std::cout << i << ' ';
}
}
std::cout << '\n';
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgpib29sIGlzUHJpbWUoaW50IG51bSkKewogICAgLy8gSWYgeW91ciBmdW5jdGlvbiBpcyBvbmx5IGV4ZWN1dGVkIGZyb20gdGhhdCBsb29wIGFib3ZlLCBkZWxldGUgdGhpcyBzdGF0ZW1lbnQuCiAgICBpZihudW0gPCAyKQogICAgICAgIC8vIFRlY2huaWNhbGx5IHNwZWFraW5nIHRoaXMgc2hvdWxkIGJlIGZhbHNlLiAoSSBkb24ndCBrbm93IGlmIHlvdXIgY29kZSByZXF1aXJlcyB0aGVzZSBudW1iZXJzIHRvIGJlIHRydWUuKQogICAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmKCEobnVtICUgMikpCiAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIGludCBzcXJ0X24gPSBzcXJ0KG51bSk7IC8vIGNoYW5nZWQgdmFyYWlibGUgbmFtZSwgaXQgY29uZmxpY3RlZCB3aXRoIHNxcnQoKQogICAgZm9yIChpbnQgaT0zOyBpPHNxcnRfbjsgaSArPSAyKQogICAgICAgIGlmICghKG51bSAlIGkpKQogICAgICAgICAgICAvLyBZb3UgY2FuIHN0b3AgYWZ0ZXIgeW91IGZvdW5kIHRoZSBmaXJzdCBkaXZpc29yCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKSB7Cglmb3IgKGludCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CgkJaWYgKGlzUHJpbWUoaSkpIHsKCQkJc3RkOjpjb3V0IDw8IGkgPDwgJyAnOwoJCX0KCX0KCXN0ZDo6Y291dCA8PCAnXG4nOwp9Cg==