Informatică, întrebare adresată de Florian32, 9 ani în urmă

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

Răspunsuri la întrebare

Răspuns de ionutg38
8
#include <iostream> 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; }
Alte întrebări interesante