276
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ât1.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
#include <bits/stdc++.h> using namespace std; int main() { int n,x,dmax=0,pmax=0; int rez=1; int p,d=2; cin>>n; for(int i=1;i<=n;i++) { cin>>x; d=2; while(x-1) { p=0; while(x%d==0) { x/=d; p++; } if(p) if(d > dmax) { dmax = d; pmax = p; } else if(d==dmax) pmax += p; d ++; if( d * d > x ) d = x; } } cout<<dmax<<" "<<pmax; return 0; }
Comentarii