Cod sursa(job #3258340)

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

using namespace std;

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

const int maxs = 2e6 + 1;

bool ciur[maxs];

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

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