Informatică, întrebare adresată de feherdarius, 9 ani în urmă

De ce nu iau 100 p? Ce este gresit?
Cerinta:

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

Anexe:

Razzvy: scuze, eram pe telefon si n-am vazut fisierul atasat
Razzvy: tu te-ai complicat prea mult
Razzvy: La linia 21 te opreai cand primul if era atins, deci aveai un while(fact(i)<=n)
Razzvy: Iar tu sii ca cele mai apropiate factoriale pot fi cel da dinainte sau cel de dupa n
Razzvy: Nu trebuie sa parcurgi din nou vectorul
Razzvy: Trebuie doar sa compari v[i - 1] cu v[i]
Razzvy: Nici macar nu aveai nevoie de vector
Razzvy: puteai sa declari 2 variabile care retin ultimii 2 factoriali

Răspunsuri la întrebare

Răspuns de Razzvy
2
In primul fisier ai codul tau cu cat mai putine modificari.
In cel de-al doilea ai rezolvarea optima.
Anexe:
Alte întrebări interesante