Cod sursa(job #1257780)

Utilizator Alex_SimionSimion Alexandru Alex_Simion Data 8 noiembrie 2014 10:50:00
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <bitset>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
bool B[1000000];
int N,n,I,i,k,sol;
int main()
{
    f>>N;
    if(N%2==0)N--;
    n=(N-3)/2;
    sol++;
    for(i=0,I=3;I*I<=N;i++,I+=2)
        if(B[i]==0)
        {
            sol++;
            for(k=2*i*i+6*i+3;k<=n;k+=I)
                B[k]=1;
        }
    for(;i<=n;i++)
        if(B[i]==0)
            sol++;
    g<<sol;
    return 0;
}