美文网首页LeetCode蹂躏集
2018-05-14 172. Factorial Traili

2018-05-14 172. Factorial Traili

作者: alexsssu | 来源:发表于2018-05-14 13:29 被阅读0次

    题意:给你一个数n,输出n的阶乘n!尾端0的个数。
    解题思路:阶乘结果末端的0是由5 * 2、5 * 4、5 * 偶数和10、20、30... 100、200...1000等末尾含0的乘数构成。
    其实10也是由5 * 2构成,20是由5 * 4构成,其实末尾含0的数也是由5通过与其他数的乘积构成,所以n!中1个因子5对应一个0.
    但n!中有些因数含有多个5因子,例如25含有2个5因子,125含有3个5因子。
    所以求n!结果尾端0的个数,就是求1——n中所有数含有因子5的个数。

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

    相关文章

      网友评论

        本文标题:2018-05-14 172. Factorial Traili

        本文链接:https://www.haomeiwen.com/subject/hqgddftx.html