Cod sursa(job #1477865)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 27 august 2015 11:16:44
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>

using namespace std;

const int maxn = 2000005;

bool ciur[maxn];
int n, cnt;

int main()
{
    ifstream in("ciur.in");
    ofstream out("ciur.out");
    in >> n;
    /// fac ciurul propriu-zis
    ciur[1] = 1;
    for(int i = 2 ; i <= n;  ++ i) {
        if(ciur[i] == 0) { /// i este rpim si trebuie sa marchez toti multipli sai
            /// i  este prim => un nou numar prim <= n
            cnt ++;
            for(int j = i + i ; j <= n ; j = j + i)
                ciur[j] = 1;
        }
    }
    out << cnt << '\n';
    return 0;
}