// A C++ program to calculate and print prime numbers from 1 to 50
#include <iostream>
#include <vector>
using namespace std;
vector<int> findPrimes(int max) {
vector<bool> is_prime(max + 1, true);
vector<int> primes;
for (int i = 2; i <= max; ++i) {
if (is_prime[i]) {
primes.push_back(i);
for (int j = i * 2; j <= max; j += i) {
is_prime[j] = false;
}
}
}
return primes;
}
int main() {
vector<int> primes = findPrimes(50);
cout << "Prime numbers from 1 to 50 are:" << endl;
for (int prime : primes) {
cout << prime << " ";
}
cout << endl;
return 0;
}
Ly8gQSBDKysgcHJvZ3JhbSB0byBjYWxjdWxhdGUgYW5kIHByaW50IHByaW1lIG51bWJlcnMgZnJvbSAxIHRvIDUwCgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8aW50PiBmaW5kUHJpbWVzKGludCBtYXgpIHsKICAgIHZlY3Rvcjxib29sPiBpc19wcmltZShtYXggKyAxLCB0cnVlKTsKICAgIHZlY3RvcjxpbnQ+IHByaW1lczsKICAgIGZvciAoaW50IGkgPSAyOyBpIDw9IG1heDsgKytpKSB7CiAgICAgICAgaWYgKGlzX3ByaW1lW2ldKSB7CiAgICAgICAgICAgIHByaW1lcy5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpICogMjsgaiA8PSBtYXg7IGogKz0gaSkgewogICAgICAgICAgICAgICAgaXNfcHJpbWVbal0gPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBwcmltZXM7Cn0KCmludCBtYWluKCkgewogICAgdmVjdG9yPGludD4gcHJpbWVzID0gZmluZFByaW1lcyg1MCk7CiAgICBjb3V0IDw8ICJQcmltZSBudW1iZXJzIGZyb20gMSB0byA1MCBhcmU6IiA8PCBlbmRsOwogICAgZm9yIChpbnQgcHJpbWUgOiBwcmltZXMpIHsKICAgICAgICBjb3V0IDw8IHByaW1lIDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==