Răspuns :
#include <iostream>
#include <cmath>
int main()
{
int n, p_max, e_max = 0, sq;
cin>>n;
//Facem descompunerea cu 2 separat deoarece e singurul nr prim par
if(n % 2== 0)
{
int e = 0;
while(n % 2 == 0)
{
n /= 2;
e++;
}
p_max = 2;
e_max = e;
}
sq = sqrt(n);
//Cum singurul numar prim par este 2, vom verifica numai numerele impare (i += 2)
for(int d = 3; d <= sq; d += 2)
{
if(n % d == 0)
{
int e = 0;
while(n % d == 0)
{
n /= d;
e++;
}
if(e >= e_max)
{
e = e_max;
p_max = d;
}
sq = sqrt(n);
}
cout<<p_max;
}
//Prin functii
#include <iostream>
#include <cmath>
int descompunere(int & x, int d) /*Descompune numarul x dupa numarul prim d si returneaza exponentul lui d*/
{
int e = 0;
while(x % d == 0)
{
n /= d;
e++;
}
return e;
}
int main()
{
int n, p_max, e_max = 0, sq, e;
cin>>n;
e = descompunere(n, 2);
if(e)
{
p_max = 2;
e_max = e;
}
sq = sqrt(n);
//Cum singurul numar prim par este 2, vom verifica numai numerele impare (i += 2)
for(int d = 3; d <= sq; d += 2)
{
e = descompunere(n, d);
if(e)
{
if(e >= e_max)
{
e = e_max;
p_max = d;
}
sq = sqrt(n);
}
cout<<p_max;
}
#include <cmath>
int main()
{
int n, p_max, e_max = 0, sq;
cin>>n;
//Facem descompunerea cu 2 separat deoarece e singurul nr prim par
if(n % 2== 0)
{
int e = 0;
while(n % 2 == 0)
{
n /= 2;
e++;
}
p_max = 2;
e_max = e;
}
sq = sqrt(n);
//Cum singurul numar prim par este 2, vom verifica numai numerele impare (i += 2)
for(int d = 3; d <= sq; d += 2)
{
if(n % d == 0)
{
int e = 0;
while(n % d == 0)
{
n /= d;
e++;
}
if(e >= e_max)
{
e = e_max;
p_max = d;
}
sq = sqrt(n);
}
cout<<p_max;
}
//Prin functii
#include <iostream>
#include <cmath>
int descompunere(int & x, int d) /*Descompune numarul x dupa numarul prim d si returneaza exponentul lui d*/
{
int e = 0;
while(x % d == 0)
{
n /= d;
e++;
}
return e;
}
int main()
{
int n, p_max, e_max = 0, sq, e;
cin>>n;
e = descompunere(n, 2);
if(e)
{
p_max = 2;
e_max = e;
}
sq = sqrt(n);
//Cum singurul numar prim par este 2, vom verifica numai numerele impare (i += 2)
for(int d = 3; d <= sq; d += 2)
{
e = descompunere(n, d);
if(e)
{
if(e >= e_max)
{
e = e_max;
p_max = d;
}
sq = sqrt(n);
}
cout<<p_max;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!