299
Cerinţa
Să se scrie un program care citeşte de la tastatură un număr natural n
şi apoi un şir de n
numere naturale şi determină cel mai mare număr prim din șir și de câte ori apare.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere naturale.
Date de ieşire
Programul afișează pe ecran numerele M nrap
, separate printr-un spațiu, reprezentând cel mai mare număr prim din șir și de câte ori apare acest număr în șir.
Restricţii şi precizări
0 < n < 1000
- cele
n
numere citite vor fi mai mici decât2.000.000.000
- pentru toate testele de evaluare, datele de intrare vor conține cel puțin un număr prim
Exemplu
Intrare
5 8 7 11 9 11
Ieșire
11 2
#include <bits/stdc++.h> using namespace std; int prim(int n); int main () { int n; cin >> n; int a[1001]; int cnt=0,max=0; for (int i = 0 ; i < n ; ++i) { cin >> a[i]; if(prim(a[i])) { if (a[i] >= max) max=a[i]; } } for (int i = 0 ; i < n; ++i) { if (a[i]==max) cnt++; } cout << max << ' ' << cnt; return 0; } int prim(int n) { int cnt=0; for (int i = 1 ; i * i <= n; ++i) { if (n%i==0) cnt+=2; if (i*i==n) cnt--; } if (cnt == 2) return 1; else return 0; }
Comentarii