Cod sursa(job #2249636)

Utilizator AlexutAlex Calinescu Alexut Data 30 septembrie 2018 09:46:48
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define filein "ciur.in"
#define fileout "ciur.out"
#define sz 2000001

using namespace std;
ifstream fin(filein);
ofstream fout(fileout);
unsigned int N, cont;
int main()
{
    fin >> N;
    bool ciur[sz] = {0};
    for(unsigned int d = 2; d <= N; ++d)
    {
        if(!ciur[d])
        {
            ++cont;
            unsigned int k = 1;
            do{
                ciur[d * k] = 1;
                ++k;
            }while(d * k <= N);
        }
    }
    fout << cont;
    return 0;
}