Cod sursa(job #2789131)

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

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

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

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;
}