Cod sursa(job #868284)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 30 ianuarie 2013 21:23:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <cstdio>

using namespace std;

#define Nmax 2000000

int N, contor;

char (*p) = new char [Nmax];

void citire(){

    freopen("ciur.in", "r", stdin);

    scanf("%d", &N);
}

void gen(){

    contor = 1;

    for(int i = 3; i <= N; i += 2)
        if(p[i] == 0){

            contor++;

            for(int j = i + i + i; j <= N; j += i << 1)
                p[j] = 1;
        }
}

void afis(){

    freopen("ciur.out", "w", stdout);

    printf("%d\n", contor);
}

int main(){

    citire();
    gen();
    afis();

    return 0;
}