Cod sursa(job #1939222)

Utilizator boyte.ralucaBoyte Raluca boyte.raluca Data 25 martie 2017 15:48:18
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

int e[2000000];

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

void ciur()
{
    for(int i = 2; i <= 2000000;i ++)
        e[i] = 1;
    for(int i = 2 ; i * i <= 2000000; i++)
        if(e[i])
            for(int j = 2; j*i <= 2000000; j++)
                e[i*j] = 0;
}

int nrprime(int n)
{
    int nr = 0;
    for(int i = 1 ; i <= n ; i++)
        if(e[i])
            nr++;
    return nr;
}

int main()
{
    int n;
    fin >> n;
    ciur();
    fout <<nrprime(n);
    fin.close();
    fout.close();
    return 0;
}