418
Cerinţa
Să se scrie un program care citeşte un număr natural n şi determină factorul care apare în descompunerea în factori primi a lui n la puterea cea mai mare.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul afișează pe ecran numărul prim p, cu semnificaţia precizată.
Restricţii şi precizări
1 < n < 2.100.000.000- dacă în descompunerea în factori primi a lui
napar mai mulţi factori la puterea maximă, se va afişa cel mai mare dintre ei
Exemplu
Intrare
405
Ieșire
3
Explicație
405 = 3 4 * 5 1 . Astfel, factorul care apare la puterea cea mai mare este 3
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
int d=2;
int p;
int max=0;
int dmax=0;
while(n>1)
{
p=0;
while(n%d==0)
{
p++;
n/=d;
}
if(p>0)
{
if(p>=max && d>dmax)
max=p , dmax=d;
}
d++;
if(d*d>n)
d=n;
}
cout << dmax;
}
Comentarii