【Leetcode172】Factorial Trailing Zeroes

这实际上是一个数学问题:

,,,,5,,,,,2*5,,,,,3*5,,,,,4*5,,,,,5*5,

每一次连续的5个数的阶乘中必然至少存在一个5和2的组合,

在此基础上,每一次连续的25个数的阶乘中还会多出来一个5(5*5=25),

同理,每一次连续的125个数的阶乘中还会再多出来一个5(5*5*5=125),

由于2的数量很多,所以只要数清5的个数就对了。

class Solution {
public:
    int trailingZeroes(int n) {
        int answer = 0;
        while(n){
            answer += n/5;
            n /= 5;
        }
        return answer;
    }
};
发布了112 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39458342/article/details/104644774