Cod sursa(job #1384438)

Utilizator Mr.DoomRaul Ignatus Mr.Doom Data 11 martie 2015 09:18:04
Problema Ciurul lui Eratosthenes Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;

ifstream is("ciur.in");
ofstream os("ciur.out");

const int Maxn = 2000001 / 2 + 1;

int p[Maxn];
int n;
int Prime(int x);

int main()
{
    is >> n;
    os << Prime(n);

    is.close();
    os.close();
    return 0;
}


int Prime(int x)
{
    int nr = 1;
    for ( int i = 1; (i << 1) + 1 <= n; ++i )
        if ( !p[i] )
        {
            ++nr;
            for ( int j = i + i + i + 1; (j << 1) + 1 <= n; j += (i << 1) + 1 )
                p[j] = 1;
        }
    return nr;
}