Cod sursa(job #3223120)

Utilizator Cristian_NegoitaCristian Negoita Cristian_Negoita Data 12 aprilie 2024 14:43:51
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 2 * 1e6 + 1;
bool numere[NMAX];

void ciur()
{
    numere[0] = 1;
    numere[1] = 1;
    for(int i = 2; i < NMAX; i++)
    {
        if(numere[i] == 0)
        {
            for(int j = 2 * i; j < NMAX; j += i)
            {
                numere[j] = 1;
            }
        }
    }
}

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

    return 0;
}