300
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
n
apar 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