Mai intai trebuie sa te autentifici.
Cod sursa(job #2675051)
Utilizator | Data | 21 noiembrie 2020 09:40:55 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <iostream>
using namespace std;
const int VMAX = 618;
int n;
bool sieve[VMAX];
int sol; // numărul de numere prime
int primes[VMAX]; // numerele prime
int main() {
cin >> n;
sieve[0] = sieve[1] = true;
for (int j = 4; j <= n; j += 2)
sieve[j] = true;
for (int i = 3; i * i <= n; i += 2)
if (!sieve[i])
for (int j = i * i; j <= n; j += 2 * i)
sieve[j] = true;
primes[sol++] = 2;
for (int i = 3; i <= n; i += 2)
if (!sieve[i])
primes[sol++] = i;
cout << sol << '\n';
for (int i = 0; i < sol; i++)
cout << sieve[i] << ' ';
cout << '\n';
return 0;
}