Cod sursa(job #2230206)

Utilizator vladm98Munteanu Vlad vladm98 Data 9 august 2018 14:08:43
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

int isPrime[2000005];
///isPrime[i] = este 1 daca i NU este numar prim si 0 daca i este numar prim
void buildCiur (int n) {
    isPrime[0] = isPrime[1] = 1;
    for (int i = 2; i <= n; ++i) {
        if (isPrime[i] == 0) {
            for (int j = 2 * i; j <= n; j += i) {
                isPrime[j] = 1;
            }
        }
    }
}

int main()
{
    ifstream fin ("ciur.in");
    ofstream fout ("ciur.out");
    int n;
    cin >> n;
    buildCiur(n);
    int howManyPrimes = 0;
    for (int i = 2; i <= n; ++i) {
        if (isPrime[i] == 0) {
            howManyPrimes ++;
        }
    }
    cout << howManyPrimes;
    return 0;
}