Cod sursa(job #2811274)

Utilizator Teodor11Posea Teodor Teodor11 Data 1 decembrie 2021 18:58:42
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;

int n, primality_of_numbers[2000001];

void find_primality_of_numbers(int n) {
    for (int i = 2; i * i <= n; i++) {
        if (primality_of_numbers[i] == 0) {
            for (int j = 2; j * i <= n; j++) {
                primality_of_numbers[j * i] = 1;
            }
        }
    }
}

int number_of_prime_numbers(int n) {
    int counter = 0;
    for (int i = 2; i <= n; i++) {
        if (primality_of_numbers[i] == 0) {
            ++counter;
        }
    }
    return counter;
}

int main() {
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    fin >> n;
    find_primality_of_numbers(n);
    fout << number_of_prime_numbers(n);
    return 0;
}