👤

Cerinţa
Se dă un şir cu n elemente, numere naturale. Să se verifice dacă în şir există elemente prime.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă şirul conţine elemente prime, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n ≤ 200
elementele şirului vor fi mai mici decât 1.000.000.000

Exemplu
Date de intrare

5
21 8 6 10 8
Date de ieșire

NU

asta e codul meu si nu merge:
#include
using namespace std;


int main()
{
int v[201], i, n, ok, d;

cin >> n;
for (i = 1; i <= n; i++)
cin >> v[i];
ok = 1;
for (i = 1; i <= n; i++)
{
for (d = 2; d <= v[i] / 2; d++)
if (v[i] % d == 0)
{
ok = 0;
break;
}

}
if (ok == 0)
cout << "DA";
else
cout << "NU";

return 0;

}


Răspuns :

#include <iostream>

using namespace std;

int main()

{

   int n, num, i, gasit=0;

   cin >> n;

   for (i=1; i<=n; ++i)

   {

       cin >> num;

       if (!gasit)

       {

           int d, e_prim=1;

           if (num==0 || num==1) e_prim=0;

           if (num>2)

           {

               if (num%2==0) e_prim=0;

               for (d=3; d*d<=num; d+=2)

                    if (num%d==0) { e_prim=0; break; }

           }

           if (e_prim==1) gasit=1;

       }

   }

   if (gasit) cout << "DA";

   else cout << "NU";

   return 0;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari