2、尾部的零

作者: Yui丶西米大人 | 来源:发表于2017-02-27 13:46 被阅读0次

    题目描述

    设计一个算法,计算出n阶乘中尾部零的个数

    思路

    n阶乘能产生尾数0,换言之就是问n阶乘能乘出多少个10
    10分解成两个质数相乘就是:2 * 5
    考虑 <=n 的数中,能分解出多少对 2 && 5
    分解的2肯定比5多
    问题也就转化成了,<=n 的数中,能分解出多少个5
    n/5 得到能分解出1个5的个数
    n/5/5 得到能分解出两个5的个数
    ...
    所以一个while循环就可以搞定

    代码

    public long trailingZeros(long n) {
            // write your code her
            long count = 0;
            while(n / 5 != 0) {
                n = n / 5;
                count += n;
            }
            return count;
        }
    

    考察点

    • 数学题

    相关文章

      网友评论

        本文标题:2、尾部的零

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