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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求结果末尾有多少0.完全没思路

14 个回复

倒序浏览
应该是算5,25,125,625的个数
回复 使用道具 举报
看不懂你要问什么玩意儿???
回复 使用道具 举报
public class Demo2
{
        public static void main(String[] args)
        {
                int count = 0 ;
                for (int i = 1; i <= 1000; i++)
                {
                        if(i%10==0)
                        {
                                count++;
                                System.out.println(count);
                        }
                }
                System.out.println(count);
        }
}
回复 使用道具 举报
1-1000实在是太大了,所以,用for循环是不现实的,但是我们要找0的个数,可以知道,2*5=10;
我们找可以被10整除的数,然后再for循环中进行判断,就可以得到结果。
回复 使用道具 举报
public class Demo3
{
        public static void main(String[] args)
        {
                 //被2整除的次数之和
                 int count2 = 0;
                 //被5整除的次数之和
                 int count5 = 0;

                 //遍历所有的数
                 for (int number = 1; number <= 1000; number ++) {
                  int dynmicNumber = number;//该数的一个复制,用于不数的整除用
                  while (dynmicNumber % 2 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
                   count2++;
                   dynmicNumber /= 2;
                  }
                  while (dynmicNumber % 5 == 0) { //统计该数能被2整除多少次,但是并不单独统计,而是统计到全局
                   count5++;
                   dynmicNumber /= 5;
                  }
                 }

                 System.out.println("结尾0的个数为:" + Math.min(count2, count5));
        }
}
回复 使用道具 举报
第一个方法有缺陷,第二个是对的,不过思路是一样的
回复 使用道具 举报
刚开始想用比较简单的代码来执行,看来还是不行。
回复 使用道具 举报
我来看看大神解答。
回复 使用道具 举报
dg216888 发表于 2015-12-24 00:08
public class Demo3
{
        public static void main(String[] args)

大神,貌似题目是先求阶乘,然后求阶乘的结果能有几个0吧?
回复 使用道具 举报
        // 定义一个变量                 int count = 1 ;                                  // 循环                 for(int x = 2 ; x <= 5 ; x++){                         count *= x ;                 }                                  // 输出                 System.out.println(count);                
回复 使用道具 举报
foolishlovepig 发表于 2015-12-24 12:44
大神,貌似题目是先求阶乘,然后求阶乘的结果能有几个0吧?

不需要求出阶乘结果啊,首先阶乘的值太大了,而我们只需要求出能够得到0的两个数的乘积就好了啊
回复 使用道具 举报
___ 来自手机 中级黑马 2015-12-27 23:23:23
13#
阶乘是什么鬼
回复 使用道具 举报
1158147908 来自手机 中级黑马 2015-12-28 06:21:46
14#
用for循环语句呀
回复 使用道具 举报
dg216888 发表于 2015-12-27 23:16
不需要求出阶乘结果啊,首先阶乘的值太大了,而我们只需要求出能够得到0的两个数的乘积就好了啊 ...

啊啊,我看他帖子标题,以为一定要先求出阶乘呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马