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

Leetcode: Factorial Trailing Zeroes

时间:2015-01-02 22:28:57      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:leetcode

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

Note: Your solution should be in logarithmic time complexity.

解析:

只有2和5相乘才会出现0,其中整十也可以看做是2和5相乘的结果,所以,可以在n之前看看有多少个2以及多少个5就行了,又发现2的数量一定多于5的个数,于是我们只看n前面有多少个5就行了,于是n/5就得到了5的个数,还有一点要注意的就是25这种,5和5相乘的结果,所以,还要看n/5里面有多少个5,也就相当于看n里面有多少个25,还有125,625.。。

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







Leetcode: Factorial Trailing Zeroes

标签:leetcode

原文地址:http://blog.csdn.net/doc_sgl/article/details/42344441

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