2. 尾部的零简单

Posted chenamao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2. 尾部的零简单相关的知识,希望对你有一定的参考价值。

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

思路:0的个数取决于5因子的个数,5的一次方对答案贡献一个0,5的平方贡献两个0,5的三次方贡献3个0......以此类推。

代码:

class Solution
{
    public:
        /*
         * @param n: A long integer
         * @return: An integer, denote the number of trailing zeros in n!
         */
        long long trailingZeros(long long n)
        {
            // write your code here, try to do it without arithmetic operators.
            long long cnt=0;
            long long b=5;
            long long tmp;
            while(tmp)
            {
                tmp=n/b;
                cnt+=tmp;
                b*=5;
            }
            return cnt;
        }
};

 

以上是关于2. 尾部的零简单的主要内容,如果未能解决你的问题,请参考以下文章

LintCode #2 尾部的零

2.尾部的零

LintCode 2. 尾部的零

LintCode 尾部的零

如何优化C ++代码的以下片段 - 卷中的零交叉

Thymeleaf 模板 引用头部 尾部 最简单教程