419
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