Cod sursa(job #2469057)

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

using namespace std;

int n, primesCount;
int ciur[NMAX], 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;
    for (int div = 3; div <= n; div += 2)
        if (!ciur[div])
            primes[++primesCount] = div;

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