Cod sursa(job #3258342)

Utilizator DavidRomansRoman David Stefan DavidRomans Data 22 noiembrie 2024 10:06:51
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

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

bool ciur[2000005];

void ciuru (){
    ciur[0] = 1;
    ciur[1] = 1;
    for (int i = 2; i <= 2000005; i++){
        if (ciur[i] == 1){
            continue;
        }
        if (ciur[i] == 0){
            for (int k = i + i; k <= 2000005; k += i){
                ciur[k] = 1;
            }
        }
    }
}

int main ()
{
    ciuru();
    int n, cnt = 0;
    fin >> n;
    for (int i = 1; i <= n; i++){
        if (ciur[i] == 0){
            cnt++;
        }
    }
    fout << cnt;
}