307
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.
int det(int n) { int a[11]; int val1 , val2; a[1]=1; for(int i = 2 ; i <= 11 ; ++i) { a[i]=a[i-1]*i; } for(int i = 1 ; a[i] <= n ; ++i) { val1=a[i]; val2=a[i+1]; } if(n-val1 > val2-n) return val2; else return val1; }
Comentarii