黑马程序员技术交流社区

标题: 1000!大数字阶乘,BigInteger入门 [打印本页]

作者: tsiov    时间: 2015-7-9 21:03
标题: 1000!大数字阶乘,BigInteger入门
也是黑马测试的一道题目,不多说,直接上代码:
  1. package com.itheima;
  2. import java.math.BigInteger;
  3. /*************************************
  4. 9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
  5. 参考资料:http://bbs.itheima.com/thread-141501-1-1.html
  6. *************************************/

  7. public class Test9 {
  8.         public static void main(String[] args){
  9.                 int iCounter=0,iLop;
  10.                 BigInteger Result=new BigInteger("1000");
  11.                 for(iLop=999;iLop>1;iLop--){
  12.                         Result=Result.multiply(new BigInteger(iLop+""));
  13.                 }
  14.                 String Str=Result.toString();
  15.                 System.out.println("Ans:"+Str);
  16.                 for(iLop=0;iLop<Str.length();iLop++){
  17.                         if(Str.charAt(iLop)=='0'){
  18.                                 iCounter++;
  19.                         }
  20.                 }
  21.                 System.out.println("Count of \"0\": "+iCounter);
  22.                 System.out.println("Count of all: "+Str.length());
  23.         }
  24. }
复制代码

作者: WElife    时间: 2015-7-9 21:46
可以用数组的形式做的,没有必要使用BigInteger做。。。
作者: tsiov    时间: 2015-7-10 08:44
WElife 发表于 2015-7-9 21:46
可以用数组的形式做的,没有必要使用BigInteger做。。。

哦好,谢谢你!请问怎么获取技术分?




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