Cod sursa(job #1933542)

Utilizator adi1607Ciurea Adi adi1607 Data 20 martie 2017 19:53:01
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int v[2000005];
int main()
{
    int n,i,da=0,s,p;
    in>>n;
    for(i=2;i<=n;++i)
        v[i]=i;
    i=2;
    p=2;
    while(i*i<=n)
    {
        p=2;
        while(p*i<=n)
        {
            v[p*i]=0;
            ++p;
        }
        s=i+1;
        while(da==0)
        {
            if(v[s]!=0)
                {
                    i=v[s];
                    da=1;
                }
            ++s;
        }
        da=0;
    }
    s=0;
    for(i=2;i<=n;++i)
        if(v[i]!=0)
            ++s;
    out<<s;
    return 0;
}