Cod sursa(job #2252332)

Utilizator mihaicivMihai Vlad mihaiciv Data 2 octombrie 2018 18:37:12
Problema Ciurul lui Eratosthenes Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#define nmax 2000100
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");

int prim[nmax];

void creareCiur(int maxVal) {
    prim[1] = 1;
    for (int i = 2;i <= maxVal; ++i) {
        if (prim[i] == 0) {
            for (int j = i + i; j <= maxVal; j = j + i) {
                prim[j] = 1;
            }
        }
    }
}
int main() {
    int n;
    f >> n;
    creareCiur(n);
    int number = 0;
    for (int i = 2;i <= n; ++i) {
        if (prim[i] == 0 ) {
            number ++;
        }
    }
    g << number;
    return 0;
}