# PBinfo #2576 – ciurul-lui-eratosthenes – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Să se afișeze numerele prime de la 1 la n.

Date de intrare
Se citește numărul n.

Date de ieșire
Se vor afișa numerele prime de la 1 la n, în ordine crescătoare,separate printr-un spațiu.

Restricții și precizări

1 ≤ n ≤ 1.000.000

Exemplu:
Intrare

30
Ieșire

2 3 5 7 11 13 17 19 23 29

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n; cin >> n;
    int ciur[1000001] = {0};
    ciur[0] = ciur[1] = 1;
    for (int i = 4; i <= n; i = i + 2)
        ciur[i] = 1;
    for (int i = 3; i * i <= n; i = i + 2) 
        if (ciur[i] == 0)
            for (int j = i * i; j <= n; j = j + 2 * i)
                ciur[j] = 1;
    for (int i = 1; i <= n; ++i)
        if (ciur[i] == 0) cout << i << " ";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2576)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2576/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2576/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
