Cod sursa(job #2789134)

Utilizator casiannCasian casiann Data 26 octombrie 2021 22:16:38
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;

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

int n, cnt = 1;
char not_Prim[2000005];

void ciur(int n){
    int d;
    for(d=3; d*d <= n; d+=2){
        if(!not_Prim[d]) {
            cnt++;
            for(int i=d; i<=n; i+=2*d) not_Prim[i] = 1;
        }
    }
    for(; d <=n; d+=2) if(!not_Prim[d]) cnt++;
}

int main(){
    fin >> n;
    ciur(n);
    fout << cnt;
    return 0;
}