456
Cerința
Se consideră un șir cu n
elemente, numere naturale. Folosind metoda Divide et Impera, determinați cel mai mare element prim din acest șir.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi cele n
elemente ale șirului.
Date de ieșire
Programul va afișa pe ecran numărul M
, cel mai mare element prim al șirului.
Restricții și precizări
1 ≤ n ≤ 1000
- elementele șirului vor fi mai mici decât
1.000.000
- se garantează că în șir apare cel puțin un element prim
- se recomandă folosirea metodei Divide et Impera
Exemplu
Intrare
64 1 8 4 3 5
Ieșire
5
#include <bits/stdc++.h> using namespace std; int prim(int n); int main () { int n,tmp,max=0; cin >> n; for (int i=1 ; i <= n; ++i) { cin >> tmp; if (prim(tmp)) { if (tmp>max) max=tmp; } } cout << max; } int prim(int n) { int cnt=0; for (int i = 1; i <= sqrt(n); ++i) { if (n%i==0) cnt+=2; } if (cnt==2) return 1; else return 0; }
Comentarii