其实这是一个很简单的问题,很多人会先将这个数对10取余,再与这个数除以10作比较,如果相等,则证明有一个0,但这样比较复杂,推荐一种简单的思路,直接除以5,代码如下
public int trailingZeroes(int n) {
int sum = 0;
while (n > 0) {
n /= 5;
sum += n;
}
return sum;
}
其实很容易理解,阶乘变成了最大的限制,只有5及其倍数才能产生尾数为0的整数
求n!的结果尾数有几个0的小技巧
最新推荐文章于 2022-09-25 17:40:16 发布