- package com.itheima;
- import java.math.BigInteger;
- /**
- * 9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
- *
- * 思路:1.因为求出1000!之后数值太大,需要使用math.BigInteger,可以解决大数问题。
- * 2.首先创建一个BigInteger对象,容纳计算结果。
- * 3.for循环循环相乘。(1*(1+1)*(1+1+1)····*1000)
- * 4.得出结果后,将BigInteger的对象用字符串表示。
- * 5.for循环,使用str.charAt(i)方法搜寻有多少个0,有的话count++。
- * 6.打印结果
- *
- */
- public class Test9 {
- public static void main(String args[])
- {
- BigInteger result = new BigInteger("1");//新建一个值为1的BigInteger对象
- int count = 0;//计数值为0
-
- for(int i = 2 ; i <=1000 ; i++)
- {
- result = result.multiply(new BigInteger(i+""));//循环相乘,得出结果。
- }
- String str = result.toString();//将其变为string类型
-
-
- for(int i = 0 ; i <str.length(); i++)//将结果(字符串)遍历一遍。
- {
- if(str.charAt(i) == '0')//当有"0"时候,count++作为计数。
- {
- count++;//计数,每有一个0就增加1.
-
- }
- }
-
- System.out.println(count);//输出结果。
- }
- }
- //你可以看看这个代码
复制代码 |