Rezolvare completă PbInfo #902 Factorial2

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 Adresa de email.

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!