看了这篇文章的百分之九十九都顶了,还有百分之一的人默默点了转发,并且在转发的时候含泪说了一句:不转不是中国人
问题大意,给一个数n,求出n! 后面0的个数。
解题思路:
显然可以知道后面0的个数取决于约数5的个数,一个递推思路:
1、 每隔5个,会产生一个0,比如 5, 10 ,15,20.。。
2 、每隔 5×5 个会多产生出一个0,比如 25,50,75,100
3 、每隔 5×5×5 会多出一个0,比如125.
4、…………
上代码:
ll Zero(ll n){
ll ans = 0;
while(n){
ans += n / 5;
n /= 5;
}
return ans;
}