Cod sursa(job #2572652)

Utilizator SebaschanSebastian Cojocaru Sebaschan Data 5 martie 2020 13:43:04
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 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++) {
        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;
}