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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kaixinkai 中级黑马   /  2016-2-12 12:19  /  4434 人查看  /  55 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
只用java基础前十课的内容,不得用集合等超越前十课的知识。

55 个回复

倒序浏览
过20楼我会附上我自己的源码
回复 使用道具 举报
过节呢 过20楼有点难
回复 使用道具 举报
洋葱头头 发表于 2016-2-12 12:29
过节呢 过20楼有点难

这是我们老师出的变态寒假作业16道其中的一道
回复 使用道具 举报
本来我数学就不好,前些天才碰巧看了下阶乘,哎,数学全忘了
回复 使用道具 举报
宋达思 发表于 2016-2-12 13:04
本来我数学就不好,前些天才碰巧看了下阶乘,哎,数学全忘了

虽然我数学不错,高数也曾有满分,但是和编程并没有什么一丁点关系,人生最大的悲哀莫过于此,学过的东西不再用了
回复 使用道具 举报
酱油 来自手机 高级黑马 2016-2-12 13:28:09
7#
结果太大了,要用数组来存每一位的数字,
回复 使用道具 举报
kaixinkai 发表于 2016-2-12 13:25
虽然我数学不错,高数也曾有满分,但是和编程并没有什么一丁点关系,人生最大的悲哀莫过于此, ...

也不能完全这么说,一个是数学学的好的人思维快,学编程理解起来肯定比一般人要快一些,另外,可能一般Java里是不怎么用数学知识的,但是可能会涉及到一些算法问题,像我们老师他学Hadoop的时候,里面就有,肯定还是有好处的。当然最悲剧的的确还是学完了却不用,肯定忘。
回复 使用道具 举报
我是来盖楼的--
回复 使用道具 举报 1 0
宋达思 发表于 2016-2-12 13:32
也不能完全这么说,一个是数学学的好的人思维快,学编程理解起来肯定比一般人要快一些,另外,可能一般Jav ...

你学的是什么班级?在哪儿的校区?我是安卓开发,现在在学Java基础,在北京校区。
回复 使用道具 举报
kaixinkai 发表于 2016-2-12 15:00
你学的是什么班级?在哪儿的校区?我是安卓开发,现在在学Java基础,在北京校区。 ...

我是学JavaEE的,今年1月15号的基础班,在北京校区,渣渣1个,还请多指教哦
回复 使用道具 举报
宋达思 发表于 2016-2-12 18:26
我是学JavaEE的,今年1月15号的基础班,在北京校区,渣渣1个,还请多指教哦 ...

中关村二期软件园校区是吧,今年要搬校区了,你们javaee搬吗?
回复 使用道具 举报
酱油 发表于 2016-2-12 13:28
结果太大了,要用数组来存每一位的数字,

想不清楚在不能先算出结果的情况下如何边算边存,求版主指点

点评

用数组从0开始存储1000!的结果的每位数字,先从低位算,比如定义num[2000],最初除了num[0]所有元素赋值0,然后从num[0]开始,每个数组元素都去乘1,乘2,乘3……并赋值给该数组元素,不过每次乘完后要判断是否大于   发表于 2016-2-13 12:53
回复 使用道具 举报
kaixinkai 发表于 2016-2-13 08:54
中关村二期软件园校区是吧,今年要搬校区了,你们javaee搬吗?

听老师说3月基础班结课以后才搬呢,前提是你要考上就业班,所以这个问题我暂时不想。
回复 使用道具 举报
kaixinkai 发表于 2016-2-13 08:58
想不清楚在不能先算出结果的情况下如何边算边存,求版主指点

我不会啊
回复 使用道具 举报
kaixinkai 发表于 2016-2-13 08:58
想不清楚在不能先算出结果的情况下如何边算边存,求版主指点

算出结果在计算0的个数把
回复 使用道具 举报
本帖最后由 宋达思 于 2016-2-13 10:21 编辑

对于这个题,其实不难,但是只用前10天的知识,还不能先算出结果,反正我不会,太渣。咱们基础班讲的东西应该都一样吧,我想到的就是先算出阶乘的结果,这个简单,循环就行了。然后估计结果非常大吧,所以保险点用long来接收,然后就是10天以后的知识了,把long转成String字符串,会用Java API的话你不知道也能查到对应的方法,然后还是用String的方法,再将其转换成字符数组,之后就简单了,定义1个int类型的变量,初始值为0,也就是计数器,再遍历这个字符数组,每个角标的元素都字符'0'进行比较,如果返回true就让计数器自增,最后返回计数器的值即可。当然我用了10天以后的知识,不然我也不会。
回复 使用道具 举报 1 0
mark一记,看完前十课我再来试试。
回复 使用道具 举报
bolt 中级黑马 2016-2-13 18:03:02
19#
本帖最后由 bolt 于 2016-2-13 18:05 编辑
宋达思 发表于 2016-2-13 09:47
对于这个题,其实不难,但是只用前10天的知识,还不能先算出结果,反正我不会,太渣。咱们基础班讲的东西应 ...

需要对数的认识10=2*5 100=4*25  1000=8*125   10000=625*16
因为结果是含因数2比含因数5多
 个人认为就是算出这有多少个5的倍数 多少个25的倍数 多少个125的倍数  625的倍数
这样一想就有方法了。
具体用遍历来解决貌似就行。
回复 使用道具 举报
好高端,数学渣渣,膜拜{:3_46:}
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马