| |

Se introduce n numere de la tastatura. Sa se afiseze numerele prime 1

#include <iostream>

using namespace std;

int main()

{

    int n;

    cin >> n;

    cout << „Numerele prime sunt: „;

    for (int i = 0; i < n; i++)

    {

        int x;

        bool este_prim = true;

        cin >> x;

        if (x < 2)

        {

            este_prim = false;

        }

        else

        {

            for (int j = 2; j * j <= x; j++)

            {

                if (x % j == 0)

                {

                    este_prim = false;

                    break;

                }

            }

        }

        if (este_prim)

        {

            cout << x << ” „;

        }

    }

    cout << endl;

    return 0;

}

Programul citeste n numere de la tastatura si parcurge fiecare numar, verificand daca este prim sau nu. Pentru fiecare numar, se foloseste o variabila booliana (este_prim) care este initializata cu true. Daca numarul este mai mic decat 2, se considera ca nu este prim si se seteaza este_prim pe false. Altfel, se parcurge intervalul [2, sqrt(x)] si se verifica daca x este divizibil cu vreun numar din acest interval. Daca se gaseste un astfel de numar, se seteaza este_prim pe false si se iese din bucla, deoarece nu mai este necesar sa se continue verificarea. In final, daca este_prim este true, se afiseaza numarul.

Observati ca acest program efectueaza verificarea primului numar chiar daca n este 0. In mod normal, ar fi necesar sa se adauge o verificare suplimentara pentru a evita acest lucru.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *