fbpx

Problema #2576 – Ciurul – Rezolvari PBInfo

de Mihai-Alexandru

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 ≤ 1000000

Exemplu

Intrare

30

Ieșire

2 3 5 7 11 13 17 19 23 29
#include <bits/stdc++.h>
using namespace std;

bool c[1000001];
int x = 1000001;

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

int main()
{
    int n;
    cin >> n;
    ciur();
    for(int i = 1 ; i <= n ; ++i)
        if(c[i]==0)
            cout << i << ' ';
    return 0;
}
Comentarii

S-ar putea sa iti placa