标签: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华为机试 leetcode java 阶乘运算
原文地址:http://blog.csdn.net/zzc8265020/article/details/46813029