美文网首页
172:阶乘后的零

172:阶乘后的零

作者: nobigogle | 来源:发表于2022-03-25 09:23 被阅读0次

    题意

    给定一个整数 n ,返回 n! 结果中尾随零的数量。

    提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

    分析

    阶乘后的0主要来源于2*5。

    5*2  = 10
    25 * 2 => 50 * 2 => 100
    125 * 2 => 250 *2 => 500 *2 => 1000
    // 得知5能贡献一个0,25能贡献2个0,125能贡献3个0
    

    每个偶数部分都能分解出2。因此0的个数决定与能分解出5的个数。

    题解

    class Solution {
        public int trailingZeroes(int n) {
            int ans = 0;
            long value = 5;
            while(n>=value){
                ans+=n/value;
                value = value*5;
            }
            return ans;
        }
    }
    

    相关文章

      网友评论

          本文标题:172:阶乘后的零

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