Cod sursa(job #2834223)

Utilizator MariusDinsorea32DinsoreanMarius MariusDinsorea32 Data 16 ianuarie 2022 17:42:47
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int N = 2e6 + 3;
int n, i, j, prime[N], rez;

void ciur()
{
    prime[0] = prime[1] = 1;
    for(i = 4; i <= N; i += 2) prime[i] = 1;
    for(i = 3; i <= N; i += 2){
        if(prime[i] == 0){
            for(j = 2; j * i <= N; j++)
                prime[i * j] = 1;
        }
    }
}

int main()
{
    ciur();
    fin >> n;
    rez = 1;
    for(i = 3; i <= n; i += 2)
        if(prime[i] == 0) rez++;
    fout << rez << "\n";
    return 0;
}