Cod sursa(job #1324641)

Utilizator andreiulianAndrei andreiulian Data 22 ianuarie 2015 17:02:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
#include<iostream>
using namespace std;
int n,R;
bool c[2000000];
ifstream in("ciur.in");
ofstream out("ciur.out");
int main()
{
    in>>n;
    int i,j;
    for(i=2;i<n;++i)
    {
        if(!c[i])
        {
            for(j=i+i+i;j<=n;j=j+2*i)
            {
                c[j]=1;
            }
        }
    }
    if(n==1) {out<<"0\n"; return 0;}
    if(n==2) {out<<"1\n"; return 0;}
    R=1;
    for(i=3;i<=n;++i)
    {
        if(!c[i] && i%2) R++;
    }
    out<<R<<'\n';
}