Cod sursa(job #1733221)

Utilizator ataegasMr. HHHHHH ataegas Data 24 iulie 2016 00:45:46
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <iostream>
#define nmax 2000001
using namespace std;

int get_n (){
    ifstream fin ("ciur.in");
    int n;
    fin >> n;
    return n;
}

int solve (int n){
    bool seen [nmax];
    for (auto &x : seen)
        x = false;
    for (int i = 2; i <= n; i++)
        if (!seen[i])
            for (int j = i*i; j <= n; j+= i)
                seen[j] = true;
    int primes = 0;
    for (int i = 2; i <= n; i++)
        if (seen[i] == false)
            primes ++;
    return primes;
}

void print_data (int n){
    ofstream fout ("ciur.out");
    fout << solve (n);
}

int main(){
    int n;
    n = get_n();
    print_data (n);
    return 0;
}