Ok, so the easy solution is to calculate factorial and then count the nb of zeroes. But we cannot have very large number.
Our solution is to divide the number as we compute it by ten when it's possible and increment the counter:
count = 0
def zeroes(n):
global count
if n == 1:
return 1
else:
v = n * zeroes(n-1)
if v % 10 == 0:
print v
v /= 10
count += 1
return v
print zeroes (100)
print count
import math
print math.factorial(100)
Aucun commentaire:
Enregistrer un commentaire