Cerinţa
Să se scrie o funcție C++, cu un parametru, n
, care returnează cel mai apropiat număr de n
care este factorialul unei valori.
Restricţii şi precizări
- numele funcției va fi
det
- funcția va avea un singur parametru,
n
0 ≤ n ≤ 10.000.000
- dacă există mai multe numere care sunt factoriale ale unor valori și sunt la fel de apropiate de
n
, funcția îl va returna pe cel mai mic
Exemplu
det(24) = 24
, det(44) = 24
, det(100) = 120
, det(72)=24
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 Factorial2 :
int det(int n)
{
int p = 1 , k = 1;
while(p < n)
k ++ , p *= k;
if(p == n)
return p;
int t = p / k;
if(n - t <= p - n)
return t;
else
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 #902 Factorial2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #902 Factorial2 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!