Cod sursa(job #2181005)

Utilizator IoanStoicaStoica Ioan IoanStoica Data 21 martie 2018 13:10:13
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;
char p[500001]={0};/// p[i]=0 <=> 2*i+1=nr prim
int main()
{
    ifstream f("ciur.in");
    ofstream g("ciur.out");
    int i,j,nr=1,k,n;
    f>>n;
    for(i=1; ((i*i)<<1)+(i<<1)<=n; i++)
        if(p[i]==0)
            for(j=((i*i)<<1)+(i<<1);(j<<1)+1<=n;j+=(i<<1)+1)
                p[j]=1;
    for(i=1;2*i+1<=n;i++)
        if(p[i]==0)nr++;
    cout<<nr;
    f.close();
    g.close();
}