Cod sursa(job #3130123)

Utilizator Roxana_3Asavei Roxana Roxana_3 Data 16 mai 2023 21:34:42
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
#define N 2000000
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

bool C[N + 5];

void Ciur()
{
    C[2] = 1;
    for(int i = 3; i <= N; i += 2)
        C[i] = 1;
    for(int i = 3; i * i <= N; i += 2)
        if(C[i])
            for(int j = i * i; j <= N; j += 2 * i)
                C[j] = 0;
}

int main()
{
    int ct = 0;
    int n;

    fin >> n;
    Ciur();

    if(n >= 2)
    {
        ct = 1;
        for(int i = 3; i <= n; i += 2)
            ct += C[i];
    }

    fout << ct;

    return 0;
}