Cod sursa(job #2469063)

Utilizator Leonard1998Olariu Leonard Leonard1998 Data 6 octombrie 2019 14:44:43
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#define NMAX (int)(2e6 + 5)

using namespace std;

int n, primesCount;
int ciur[NMAX];
/*int primes[NMAX];*/

int main()
{
    for (int div = 2; div * div <= NMAX; ++div)
        if (!ciur[div])
            for (int j = div * div; j <= NMAX; j += div)
                ciur[j] = 1;

    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    scanf("%d", &n);

    //transfer intr un vector numerele prime <= n
    /*primes[++primesCount] = 2;*/
    ++primesCount;
    for (int div = 3; div <= n; div += 2)
        if (!ciur[div])
            ++primesCount;
            /*primes[++primesCount] = div;*/

    printf("%d\n", primesCount);
    return 0;
}