Cod sursa(job #2853894)

Utilizator t0n1Suciu Toni t0n1 Data 20 februarie 2022 18:25:34
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int elem = 2000100;
bool ciurr[elem];
void ciur()
{
    int i, j;
    for(i = 2; i <= elem; i++)
        ciurr[i] = 1;
    for(i = 4; i <= elem; i += 2)
        ciurr[i] = 0;
    for(i = 3; i <= elem; i += 2)
        if(ciurr[i])
            for(j = 2 * i; j <= elem; j += i)
                ciurr[j] = 0;
}
int main()
{
    ciur();
    int n, i, cnt = 0;
    fin >> n;
    for(i = 2; i <= n; i++)
        if(ciurr[i])
            cnt++;
    fout << cnt;
    fin.close();
    fout.close();
    return 0;
}