本帖最后由 李辉-湖北 于 2013-12-24 21:14 编辑
求1000!的结果中包含多少个0 注意:不是结果末尾有多少个连续的0,是问结果里面总共有多少个0
1000! = 1×2×3×4×5×...×999×1000
- public class jiecheng
- {
- public static void main(String[] args)
- {
- int zhi = 1, num = 0;
- for(int i = 1; i <= 1000; i++)
- {
- zhi *= i;//计算出 1000! 的最后结果
- }
- String str = String.valueOf(zhi); // 把 1000! 的计算结果转换为字符串赋给str
- System.out.println(str); //输出str这个字符串
-
- for(int j = 0; j < str.length(); j++) //length方法,循环取出str里面的每个字符
- {
- if(str.charAt(j) == '0')//charAt方法,把从str里取出的每个字符和字符'0'进行比较
- num++; //若str里面有字符和字符'0'匹配,则执行num++
- }
- System.out.println("1000!里面包含'0'的个数为: "+num);//输出num(包含0的个数)
-
- }
- }
复制代码
我个人觉得这代码思路也是对的啊,把第一个for循环里面的 i <= 1000 改为像8、9、10、11、12这些小点的数值结果就是正常的
但是改成 1000 的话程序运行的结果就不对了,哪位大神帮小弟看看哪里还需要改动的,不胜感激啊!
今晚是平安夜,祝版主和大家平安快乐,身体健康,生活愉快啊!
|