魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 228239|回复: 24
打印 上一主题 下一主题

关于1000的阶乘的问题 [复制链接]

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
跳转到指定楼层
1#
发表于 2009-8-30 20:19:32 |只看该作者 |正序浏览
关于1000的阶乘:
1.    末尾有几个0?
2.    去掉末尾所有的0后最后一位是什么数字?
3.    写成质因数的幂的乘积的形式又是什么?               比如  360=2^3 * 3^2 * 5^1


------------------------------
由于1000以内的素数太多,第3题计算起来比较繁琐。
第3题就改为
    求100!的质因数的幂的乘积的形式。

[ 本帖最后由 lulijie 于 2009-8-31 00:10 编辑 ]

Rank: 2

积分
226
帖子
169
精华
1
UID
108699
性别
25#
发表于 2009-9-17 09:08:08 |只看该作者
汗...出现个用穷举法的...不过这是我的最爱!哈哈

使用道具 举报

Rank: 1

积分
171
帖子
132
精华
0
UID
30495
性别
保密
24#
发表于 2009-9-11 12:39:11 |只看该作者
楼上太搞笑了。。。。这题给的数据是小了点,如果再大一点,比如1000000,朴素算法就不好用了,复杂度要O( n^2 )(普通高精度乘法),再往上就要用快速傅里叶变换了,但是复杂度也只能到O( nlogn )。这题只需计算最后有多少0,不用计算具体数,所以我们可以用人脑列出一个递推公式,使得算法复杂度降到O( n ),所以不能依赖CPU。
还有为什么要用python,python在效率上比起c要差的远,虽然比较好编。

使用道具 举报

Rank: 1

积分
12
帖子
11
精华
0
UID
110752
性别
保密
23#
发表于 2009-9-10 09:21:56 |只看该作者
用强大的计算机CPU把结果算出来就是了~~推荐用python语言,嘿嘿

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
22#
发表于 2009-8-31 21:57:11 |只看该作者
很好!
不错!
不过可以把公式写的规范一些,像2/2=6,6/2=8之类的毕竟不太正规。

使用道具 举报

Rank: 1

积分
171
帖子
132
精华
0
UID
30495
性别
保密
21#
发表于 2009-8-31 21:34:34 |只看该作者
郁闷。。。我写错了,现在改好了。。

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
20#
发表于 2009-8-31 20:09:18 |只看该作者
f(49)=f(9)*f(9)*6/2^1=6*6*6/2=6/2=8
而49!=608281864034267560872252163321295376887552831379210240000000000

使用道具 举报

Rank: 1

积分
171
帖子
132
精华
0
UID
30495
性别
保密
19#
发表于 2009-8-31 20:01:19 |只看该作者
对,就是这样.....

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
18#
发表于 2009-8-31 19:58:56 |只看该作者
是这样么:
2/2=6
6/2=8
8/2=4
4/2=2

使用道具 举报

Rank: 1

积分
171
帖子
132
精华
0
UID
30495
性别
保密
17#
发表于 2009-8-31 19:54:19 |只看该作者
12也是取尾数的,就是2,2 / 2 = 6,6 / 2 = 8

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-9-23 06:32

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部