码迷,mamicode.com
首页 > 其他好文 > 详细

2. 尾部的零【简单】

时间:2018-01-24 19:46:24      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:log   with   a long   零的个数   pos   post   ret   +=   param   

设计一个算法,计算出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. 尾部的零【简单】

标签:log   with   a long   零的个数   pos   post   ret   +=   param   

原文地址:https://www.cnblogs.com/chenamao/p/8342873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!