CerinţaSubprogramul minDivPrim are un singur parametru, n, prin care primeşte un număr
natural. Subprogramul returnează cel mai mic număr natural care are aceiași divizori primi ca n.Scrieţi definiţia completă a subprogramului.Restricţii şi precizărinumele subprogramului va fi minDivPrim1<n<1.000.000.000
ExempluDacă n=75, subprogramul returnează numărul 15, iar dacă n=7, subprogramul
returnează numărul 7.ImportantSoluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
0
int minDivPrim(int n)
{
int mindp=1;
if(n%2==0)
{
while(n%2==0)
n=n/2;
mindp*=2;
}
int d=3;
while(n>1)
{
if(n%d==0)
{
while(n%d==0)
n=n/d;
mindp*=d;
}
else
d+=2;
if(n>1&&d*d>n)
{
mindp*=n;
break;
}
}
return mindp ;
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă