Rezolvare completă PbInfo #2576 Ciurul Lui Eratosthenes

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

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Ciurul Lui Eratosthenes:

//Ciurul Lui Eratosthenes
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    bool prim[n+1];
    memset(prim,1,sizeof(prim));

    for(int p=2;p*p<=n;p++)
    {
        if (prim[p]==1)
        {
            for(int i=p*2;i<=n;i+=p)
                prim[i]=0;
        }
    }
    for(int p=2;p<=n;p++)
        if(prim[p])
            cout<<p<<" ";
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2576 Ciurul Lui Eratosthenes

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2576 Ciurul Lui Eratosthenes de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!