黑马程序员技术交流社区

标题: 五颗星难道题目:求500!的结果中包含多少个0? [打印本页]

作者: kapp_tolo    时间: 2015-4-9 18:04
标题: 五颗星难道题目:求500!的结果中包含多少个0?
求500!的结果中包含多少个0?注:500! = 1×2×3×4×5×...×499×500,大神们你们有什么样的思路和想法呢?

作者: fantacyleo    时间: 2015-4-9 18:06
哪有五星难度,就是小学乘法的水平http://bbs.itheima.com/thread-133474-1-1.html
更直接的,用BigDecimal做
作者: kapp_tolo    时间: 2015-4-9 22:31
fantacyleo 发表于 2015-4-9 18:06
哪有五星难度,就是小学乘法的水平http://bbs.itheima.com/thread-133474-1-1.html
更直接的,用BigDecimal ...

额,好吧,大神厉害呀。。。。。赞一个,我先学习一下。
作者: 刘潘敏    时间: 2015-4-10 00:59
我这个也没做出来
作者: kayaking    时间: 2015-4-10 08:40
import java.math.BigInteger;

class Test
{
          public static void main(String args[])
        {
                  BigInteger result = new BigInteger("1"); //新建一个值为1的BigInteger对象
                  int count = 0;                           //定义一个计数器,值为0
   
                  for(int x = 2 ; x <=500 ; x++)
                  {
                          result = result.multiply(new BigInteger(x+""));//进行阶乘运算,得出结果。
                  }
                  String str = result.toString();          //将结果转变为字符串
   
   
                  for(int i = 0 ; i <str.length(); i++)    //将结果(字符串)遍历一遍。
                  {
                          if(str.charAt(i) == '0')                //进行判断,当有"0"时,计数器每有一个0时就加1.
                                  {
                                  count++;                              
            
                                  }
                  }
                System.out.println(count);
        }
}


这题还好吧
作者: minliang    时间: 2015-4-10 09:34
思路:1:先计算500!的结果。2:把这个结果转成字符串。3:遍历字符串。

作者: lurenge    时间: 2015-4-10 10:57
学习下,大家思路?疑问是,为什么不把变量 设置为long能
作者: Sylvanas    时间: 2015-4-10 11:57
10加1个0,100加2个0,2乘以5加一个0,一个个数。
作者: 若果每天都努力    时间: 2015-4-10 12:06
这个是用递归,也可以 用字符串遍历。用递归主要是算法,代码就很简单了
作者: Sylvanas    时间: 2015-4-10 12:10
  1. public static int count(int i){
  2.                 if(i%10==0){
  3.                         count++;
  4.                         count(i%10);
  5.                 }
  6.                 return count;
  7.                 }
复制代码

我弄了个这样的方法,结果内存溢出了




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