Cod sursa(job #1622544)

Utilizator mihai.constantinConstantin Mihai mihai.constantin Data 1 martie 2016 12:12:18
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int N_max = 2000005;

bool C[N_max];

int sol;

int N;

void ciur()
{
    int i, j;

    C[0] = C[1] = true;

    for(i = 2; i * i <= N; i++)
        if(!C[i])
            for(j = i * i; j <= N; j += i) C[j] = true;
}

int main()
{
    in >> N;

    ciur();

    for(int i = 2; i <= N; i++)
        if(!C[i]) sol++;

    out << sol;

    return 0;
}