Fie n nr. nat. Afisati factorul prim care apare la puterea cea
mai mare in descompunerea lui n.(Programul trebuie sa fie in c++.)
Răspunsuri la întrebare
Răspuns de
5
Salut!. Ti-am scris o sursa in C++ dar n-ai specificat ce se intampla in cazul in care ai de ales intre doi factori primi cu aceeasi putere cea mai mare. Am considerat ca trebuie afisat cel mai mare dintre factorii primi. Succes!
#include <iostream>
using namespace std;
int n, d, fm, maxx, fp;
int main()
{
cin >> n;
d = 2;
do
{
fm = 0;
while(n % d == 0)
{
fm ++;
n = n / d;
}
if(fm > 0 && fm >= maxx) maxx = fm, fp = d;
d ++;
if(n > 1 && d * d > n && maxx == 1) fp = n, n = 1;
} while(n>1);
cout << fp;
return 0;
}
#include <iostream>
using namespace std;
int n, d, fm, maxx, fp;
int main()
{
cin >> n;
d = 2;
do
{
fm = 0;
while(n % d == 0)
{
fm ++;
n = n / d;
}
if(fm > 0 && fm >= maxx) maxx = fm, fp = d;
d ++;
if(n > 1 && d * d > n && maxx == 1) fp = n, n = 1;
} while(n>1);
cout << fp;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
9 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă