Cod sursa(job #2061728)

Utilizator Alex_BubBuburuzan Alexandru Alex_Bub Data 9 noiembrie 2017 17:34:04
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

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

bool v[2000001];
int main()
{
    int i,d,nr=1,n;
    fin >> n;
    n++;
    v[0]=1;
    v[1]=1;
    for(i=2;i<n;i+=2)
        v[i]=1;
    for(i=3;i<n;i+=2)
    {
        if(v[i]==0)
        {
            d=2*i;
            for(d;d<n;d+=i)
                v[d]=1;
        }
    }
    if(n>2)
    {
        for(i=3;i<n;i+=2)
            {
                if(v[i]==0)
                    nr++;
        }
        fout << nr;
    }
    else
        fout << 0;
}