Leetcode-阶乘后的零

36.阶乘后的零

题目内容:

代码及思路:

1.一开始看到题目的思路是,把阶乘求出来,然后再统计0的个数,这样时间复杂度就比较高。

2.观察为什么会出现尾数为0的情况,可以很容易的看到出现零就是因为偶数与5相乘结果,因此尾数零的数量为多少可以转化为去计算阶乘因子中,5的个数有多少。那么如何寻找因子中包含5的倍数有多少个呢。

class Solution {
public:
    int trailingZeroes(int n) {
        int count=0;
        while(n)
        {
            count+=n/5;
            n=n/5;
        }
        return count;
    }
};

猜你喜欢

转载自blog.csdn.net/larklili/article/details/89428951