美文网首页
172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes

作者: namelessEcho | 来源:发表于2017-10-06 14:58 被阅读0次

    Given an integer n, return the number of trailing zeroes in n!.

    这是一道数学题,把N!写成乘数。那么零的产生是因为2*5而来的,因为每隔一个五,肯定有不止一个2,你可以考虑一下5-25之间有几个数是2的倍数。那么我们只用考虑N!中五的个数,每次有一个5,就会有1个0,同理,当有25时,会产生两个0,由于我们在计算五的个数时已经计算了一次5了,所以25的时候还要再多一次。
    简单的说,公式是:
    N/5+N/25+N/125+N/625+...直到除的结果是0。

    class Solution {
        public int trailingZeroes(int n) {
           int count = 0;
            while(n>0)
            {
                count+=n/5;
                n=n/5;
            }
            return count ;
        
        }
       
    }
    

    相关文章

      网友评论

          本文标题:172. Factorial Trailing Zeroes

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