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
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.
int det(int m) { int p = 1, i = 1, ant; if(m == 1) return 1; if(m == 0) return 1; while(p <= m) { p = p * i; i++; } ant = p / (i-1); if(p - m < m - ant) return p; else if(p - m == m - ant) return ant; else return ant; }
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!