Cod sursa(job #1376865)

Utilizator vladtpTiriplica Vlad vladtp Data 5 martie 2015 19:14:44
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#include <cstdio>

using namespace std;
ofstream g("ciur.out");

int i, j, k, n;
bool prime[1000001];
int main()
{
    freopen("ciur.in", "r", stdin);
    scanf("%d", &n);
    k = 1;
    for(i=1; ((i * i) << 1) + (i << 1)<=n; i++)
        if(prime[i] == 0)
            for(j=((i*i) << 1) + (i << 1); (j << 1) + 1 <=n; j += (i << 1) + 1)
                prime[j] = 1;
    for(i=1; 2*i+1<=n; i++)
        if(prime[i] == 0)
            k++;
    g<<k;
    return 0;
}