Cod sursa(job #2818734)

Utilizator luiz_felipeLuiz Felipe luiz_felipe Data 16 decembrie 2021 19:30:27
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#include <vector>
#include <list>

using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int n, i, j;

int main() {
    f >> n;
    vector<bool> sieve(n + 1, true);
    list<int> primes;
    sieve[0] = sieve[1] = false;
    for (i = 4; i <= n; i += 2) sieve[i] = false;
    for (i = 3; i <= n; i += 2) {
        for (j = i; j * i <= n; j += 2) sieve[j * i] = false;
    }
    for (i = 2; i <= n; ++i)
        if (sieve[i]) primes.push_back(i);
    g << primes.size();
    return 0;
}