301
Cerinţa
Să se scrie o funcție C++ care să returneze pentru un număr natural n
transmis ca parametru numărul de cifre zero de la finalul lui n! = 1•2•...•n
.
Restricţii şi precizări
- numele funcției va fi
zerof
- funcția va avea un singur parametru,
n
- valoarea calculată va fi returnată de către funcție
- prin definiție,
0!=1
0 ≤ n ≤ 10000
Exemplu
fact(6) = 1
6!=720
– se termină cu o cifră zero
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce la erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
int zerof (int n) { int c2 = 0, c5 = 0; if (n == 0) return 0; else { for ( int i = 1; i <= n; i++) { int x=i; while ( x %5==0) {c5++;x=x/5;} while (x%2==0) {c2++;x=x/2;} } if (c2<= c5)return c2; else return c5; } }
Comentarii