Informatică
ionaselena70
12

Cerinţa: Se dau n numere naturale nenule. Determinați cel mai mare număr prim care apare în descompunerea în factori a produsului celor n numere, precum și exponentul său în descompunere. Date de intrare: Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii. Date de ieşire: Programul afișează pe ecran numerele P E, separate printr-un spațiu, reprezentând numărul prim căutat și exponentul său. Restricţii şi precizări: 1 ≤ n ≤ 1000 cele n numere citite vor fi mai mici decât 1.000.000.000 pentru toate datele de test va exista cel puțin un număr dintre cele n care are factori primi Exemplu Intrare: 5 72 56 70 9 100 Ieșire: 7 2

+1
(1) Răspunsuri
Marius79

#include using namespace std; int main(){ int n , x; cin >> n; int max = -1, exp = 0; for(int i = 1 ; i <= n ; ++i) { cin >> x; int d = 2, p; while(x > 1) { p = 0; while(x % d == 0) p ++, x /= d; if(p) { if(d > max) max = d, exp = p; else if(d == max) exp += p; } d ++; if(x > 1 && d * d > x) d = x; } } cout << max << " " << exp; return 0; }

Adaugă răspuns