Cerinţa
Subprogramul 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ări
- numele subprogramului va fi
minDivPrim
1<n<1.000.000.000
Exemplu
Dacă n=75
, subprogramul returnează numărul 15
, iar dacă n=7
, subprogramul
returnează numărul 7
.
Important
Soluţ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.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema minDivPrim :
int minDivPrim(int n){
int P = 1, d = 2;
while(n > 1){
if(n % d == 0)
{
P *= d;
while(n % d == 0)
n /= d;
}
d ++;
if(d*d > n)
d = n;
}
return P;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1745 minDivPrim
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1745 minDivPrim de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!