黑马程序员技术交流社区

标题: 求1000!的结果中包含多少个0?行不通的思路 [打印本页]

作者: 幺零夭夭    时间: 2015-11-2 21:13
标题: 求1000!的结果中包含多少个0?行不通的思路
//思路一:1.计算1000!结果
                //    2.计算0的个数

//1.计算1000!结果函数
public static int getcount(int num){
        int count=0;                                //定义计数器
        for(int i=5;i<=num;i+=5){        //由于计算0的个数只和5的数量有关,故每次i递增5
                int temp=i;
                while(temp%5==0){                //计算该数的质因数5的个数
                        count++;
                        temp=temp/5;
                }               
        }
        return count;                                //返回值
}
行不通的原因,如果试过上面函数的人已经会发现返回的结果为0
可知这个是行不通的,原因在于int和long都无法存储1000!的结果,1000!太大了,所以不能使用该方法计算结果。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2