Cod sursa(job #2375479)

Utilizator pistvanPeter Istvan pistvan Data 8 martie 2019 09:47:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

int N, nump;
bool sieve[2000001];

void Sieve()
{
    nump=1;
    int lim=(int)sqrt(N);
    for (int i=3;i<=N;i+=2)
    {
        if (sieve[i])
            continue;
        nump++;
        if (i>lim)
            continue;
        for (int j=i*i;j<=N;j+=i)
            sieve[j]=1;
    }
}

int main()
{
    ifstream f("ciur.in");
    ofstream g("ciur.out");
    f>>N;
    if (N==2)
        g<<1;
    else
    {
        Sieve();
        g<<nump;
    }

}