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

2015华为机试——求n!中含有0的个数

时间:2015-07-09 11:23:58      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:2015华为机试   leetcode   java   阶乘运算   

题目描述:

求n!中含有0的个数,例如1!= 1 含有0个0,5! = 120 含有1个0,10! = 3628800 含有2个0


解题思路:

这题之前在leetcode中做过,如果先对n进行阶乘运算,然后%10求0的个数。但是n!很有可能溢出,所以需要找到它的等效方法,0的个数即为10的个数,即为5于2的个数,显然在n!中,2的个数要大于5的个数,因此只要算出n范围内有多少个5就OK


代码如下:

	public static   int getZeroCount(int n)
	{
		/*在这里实现功能*/
		int res=0;
		while (n!=0)
		{
			res=res+n/5;
			n/=5;
		}
		return res;

	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

2015华为机试——求n!中含有0的个数

标签:2015华为机试   leetcode   java   阶乘运算   

原文地址:http://blog.csdn.net/zzc8265020/article/details/46813029

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