考虑到只要有5,或者因子为5的数,就可以产生0的尾部。假如1*2*3*4*...*250,那么250/5=50可以知道,有50个为5的倍数,但是里面有多少个为25的倍数,125的倍数...,
50/5=10,可知25的倍数有10个,10/5=2,可知125的倍数有两个,以此类推,代码如下:
class Solution { public: // param n : description of n // return: description of return long long trailingZeros(long long n) { long long num = 0; while(n) { num += n / 5; n = n / 5; } return num; } };