魔方吧·中文魔方俱乐部

标题: 1000!末尾有多少个零! [打印本页]

作者: wwww    时间: 2006-6-24 12:08:03     标题: 1000!末尾有多少个零!

这是一个国外的奥林匹克题

经过我仔细研究有了最简单的思路

1000/5=200

200/5=40

40/5=8

8/5=1

1/5=0

200+40+8+1+0=249

那么1000!末尾就有249个零!

同理对于任何数的阶乘都适用

当然对他的研究不仅于此我还可以求出他右边不为零的三位数

如果谁有兴趣可以和我联系

my.163.163@163.com
作者: ayi2000    时间: 2006-6-24 13:38:52

末尾三个零的 1000 一个
末尾两个零的 100-900 9个
末尾一个零的 每百位有9个,共 90个
末尾5的 每十位一个 共 100个
末尾2的 同上

3*1 + 2*9 + 1*90 + 1*100 = 211

没钱买答案,不知道对不对……


作者: kim3    时间: 2006-7-6 23:48:36

对了
作者: 彳亍    时间: 2006-7-7 00:09:48

可以试试计算器,逢5则多一位0,而逢5的乘方会累加0。比如25 加 2个0,125加3个0。。。

类推

5,10,15,20,25,30,35,40,45,50,55,60,65... 1000  --  200个

25 50 75 100 125.....1000     -- 40 个

125 250 375 500 625 750 875 1000  -- 8 个

625 --  1 个

合计 249个0


作者: 彳亍    时间: 2006-7-7 00:13:13

呵呵,看下原理

把1 × 2 ×3× 4 ×……×N中每一个因数分解质因数,结果就像:
1 × 2 × 3 × (2 × 2) × 5 × (2 × 3) × 7 × (2 × 2 ×2) ×……
10进制数结尾的每一个0都表示有一个因数10存在——任何进制都一样,对于一个M进制的数,让结尾多一个0就等价于乘以M。
10可以分解为2 × 5——因此只有质数2和5相乘能产生0,别的任何两个质数相乘都不能产生0,而且2,5相乘只产生一个0。
所以,分解后的整个因数式中有多少对(2, 5),结果中就有多少个0,而分解的结果中,出现5之前必然已经出现有2了,因此,有多少个5,就有多少个(2, 5)对。
所以,讨论1000的阶乘结尾有几个0的问题,就被转换成了1到1000所有这些数的质因数分解式有多少个5的问题。


作者: whitetiger    时间: 2006-7-31 10:30:41

在数论中,早就对这种题目有定论了!

n!中,含质因子p的个数为f(n,p)=∑[n/p的k次方]。

其中,

  • 表示取不超过数*的最大整数,k从1取到无穷(因为k足够大时,[n/p的k次方]为0)。

    另,根据这个式子,如果质因子p1<质因子p2,那么f(n,p1)≥f(n,p2)。

    对于这道题,彳亍的分析基本到位,就是不够理论化和简练。

    只要算1000!中含5因子的数目即可。

    [1000/5]=200,[1000/25]=40,[1000/125]=8,[1000/625]=1,之后全为0。

    200+40+8+1=249。

    (或者,[1000/5]=200,[200/5]=40,[40/5]=8,[8/5]=1。)


    作者: whitetiger    时间: 2006-7-31 10:32:02

    501×502×……×1000的末尾有多少个0?




    欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2