374
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
nnumere 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
ncare 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