Cod sursa(job #2574103)

Utilizator SebaschanSebastian Cojocaru Sebaschan Data 5 martie 2020 20:20:45
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, c[2000001];

void makeCiur(int v[]) {
    for(int i = 2; i*i <= n; i++) {
        if(c[i] == 0) {
            for(int j = 2; j <= n/i; j++)
                c[i*j] = i*j;
        }
    }
}

int primeNr(int n) {
    int nr = 0;
    for(int i = 2; i <= n; i++)
        if(c[i] == 0)
            nr++;
    return nr;
}

int main() {
    fin>>n;
    makeCiur(c);
    fout<<primeNr(n);
    return 0;
}