A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

网上搜了一些,单还是没太懂,这个的思路是用结果算0,还是用数学方法得出结果。

24 个回复

正序浏览
13有几个零,试一试!
回复 使用道具 举报
感觉用2*5来得到0的个数不对,比如15!得到的是1307674368000,那么中间那个130的0怎么办,我用你的办法和用bigInteger得到的数值不一样,希望大家认真研究一下
回复 使用道具 举报
umbriel 发表于 2015-8-5 00:16
0的来源是5*2,将1000!中每个数都拆分成5*5···*2的形式,因为2的倍数远多于5的个数,故将所有书拆分为 ...

这个牛,
回复 使用道具 举报
158803629 发表于 2015-7-15 09:42
好像只有这个办法吧  为什么要说人家暴力呢,谁说暴力的你来个不暴力的

大数问题,可以用暴力求解的方法来实现,此”暴力“非彼”暴力“ ,不过别人有了更简单的方法,不得不佩服! ! !
回复 使用道具 举报
好叼 ...
回复 使用道具 举报
0的来源是5*2,将1000!中每个数都拆分成5*5···*2的形式,因为2的倍数远多于5的个数,故将所有书拆分为前述形式后5的总数就是1000!中0的数量
*/
package com.itheima;

public class Test9 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                System.out.println("1000!中包含"+getZeroCount(1000)+"个0");
        }
        public static int getZeroCount(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;                                //返回值
        }
回复 使用道具 举报 2 0
谢谢分享,看看了
回复 使用道具 举报
很好的,可是我有个疑问:看基础题的时候,一头雾水,看完答案后,海阔天空,最后再做题,这质量会否会下降?让我本来就心虚的知识,更加没底气了:'(
回复 使用道具 举报
可以用                           
回复 使用道具 举报
好像只有这个办法吧  为什么要说人家暴力呢,谁说暴力的你来个不暴力的
回复 使用道具 举报
真的是暴力,不解释啊!还有其他办法吗?
回复 使用道具 举报
很好 终于有个用我现在的知识可以看懂的了
回复 使用道具 举报

思路很清楚,学习了
回复 使用道具 举报
踏云 中级黑马 2014-11-3 22:12:35
9#
牛,好牛
回复 使用道具 举报

牛B。。。。。。
回复 使用道具 举报
15579171087 发表于 2014-9-4 23:33
这是暴力求解呀。

哈哈,不过更简便。有更好方法分享下吗?:P
回复 使用道具 举报
以前看过大牛解的,你搜一下相关的帖子
回复 使用道具 举报
不用想了,只能用结果来取
回复 使用道具 举报

这是暴力求解呀。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马