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
Ajutor!!!
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
long long n,d,fm, fact,maxx;
int main()
{
cin>>n;
d=2;
do
{
fm=0;
while(n%d==0)
{
fm++;
n=n/d;
}
if((fm>0)&&(fm >= maxx)) maxx = fm, fact = d;
d++;
if((n>1)&&(d*d>n)) if(maxx > 1) n = 1;
else fact = n, n = 1;
} while(n>1);
cout << fact;
return 0;
}
using namespace std;
long long n,d,fm, fact,maxx;
int main()
{
cin>>n;
d=2;
do
{
fm=0;
while(n%d==0)
{
fm++;
n=n/d;
}
if((fm>0)&&(fm >= maxx)) maxx = fm, fact = d;
d++;
if((n>1)&&(d*d>n)) if(maxx > 1) n = 1;
else fact = n, n = 1;
} while(n>1);
cout << fact;
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă