#include <iostream>
#include <vector>
using namespace std;
void sieve_of_eratosthenes(int n) {
vector<bool> is_prime(n + 1, true); // Initialize all entries as true
is_prime[0] = is_prime[1] = false; // 0 and 1 are not prime numbers
for (int i = 2; i * i <= n; i++) {
if (is_prime[i]) {
// Mark all multiples of i as false
for (int j = i * i; j <= n; j += i) {
is_prime[j] = false;
}
}
}
// Output all prime numbers
cout << "Prime numbers up to " << n << " are:" << endl;
for (int i = 2; i <= n; i++) {
if (is_prime[i]) {
cout << i << " ";
}
}
cout << endl;
}
int main() {
int n = 50;
sieve_of_eratosthenes(n);
return 0;
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter