Cod sursa(job #2972477)

Utilizator alexscanteieScanteie Alexandru alexscanteie Data 29 ianuarie 2023 16:04:43
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <cstring>
#define NMAX  2000001
using namespace std;

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


int SieveOfEratosthenes(int n)
{
    int cnt=0;
    bool prime[NMAX];
    memset(prime, true, sizeof(prime));

    for (int p = 2; p * p <= n; p++) {
        if (prime[p] == true) {
            for (int i = p * p; i <= n; i += p)
                prime[i] = false;
        }
    }

    for (int p = 2; p <= n; p++)
        if (prime[p])
            cnt++;
    return cnt;
}


int main(){
    int n;
    fin>>n;
    fout<<SieveOfEratosthenes(n);
    return 0;
}