Cod sursa(job #1894255)

Utilizator Motoc00Motoc George Motoc00 Data 26 februarie 2017 17:56:37
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <cmath>
using namespace std;

bool a[2000005];

int main() {
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");

    int N, nr = 0;
    fin >> N;

    for(int i = 2; i <= N; i++) {
        if(a[i] == true){
            continue;
        }
        bool prim = true;
        for(int d = 2; d <= sqrt(i); d++){
            if(i % d == 0)
                prim = false;
                break;
        }
        if(prim == true){
            a[i] = false;
            nr++;
            for(int multiplu = i * 2; multiplu <= N; multiplu += i)
                a[multiplu] = true;
        }
    }
    fout << nr;
    return 0;
}