1000的阶乘的值是多少 1000的阶乘有几位数

问题一:
1000的阶乘末尾有多少个0?
问题二:
【1000的阶乘的值是多少 1000的阶乘有几位数】1000的阶乘有多少位数?
问题三:
1000的阶乘的值是多少?
1000的阶乘末尾有多少个0?
直接递归计算吗?有点天真了 。1000的阶乘 , 是一个非常大的数字 , 得想其它办法了 。注意:要求的是1000的阶乘末尾的0的个数 , 而不是求1000的阶乘 。
喜欢编程的小伙伴可以加小编的Q群1026782549 , 进群可以领取免费的学习资料跟源代码哦!也可以关注小编的微信公众号:编程雯子 , 领取资料哦
很显然 , 从分解质因数的过程来看 , 结尾的0必然是2和5的乘积 , 而且在阶乘中 , 5是稀缺值 , 而2是富余值 , 所以 , 只需要知道质因数中5的个数就行了 。我们以26的阶乘为例:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

可见:其中有6个5 , 有充足的2 , 所以只需要看5的个数 。易知 , 26的阶乘的末尾有6个0. 用阶乘计算器来看下 , 果然如此:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

我们来讨论更一般的情况:
设f(x)是x中因数5的个数, [x]为x向下取整的值 , 则有:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

所以:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

至于程序 , 给个递归版本吧:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

结果:249. 可见 , 1000的阶乘末尾有249个0.
喜欢编程的小伙伴可以加小编的Q群1026782549 , 进群可以领取免费的学习资料跟源代码哦!也可以关注小编的微信公众号:编程雯子 , 领取资料哦
1000的阶乘有多少位数?
直接递归计算吗?有点天真了 。我们来看下如下规律:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

设f(x)为x的数位个数 , [x]为x向下取整的值 , 则有:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

至于程序 , 那就很简单了:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

结果:2568. 可见 , 1000的阶乘有2568位 。
1000的阶乘的值是多少?
直接递归计算吗?有点天真了 。还是用字符串来做吧:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图


1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

结果是:

1000的阶乘的值是多少 1000的阶乘有几位数

文章插图

可以看到 , 1000的阶乘有2568位 , 且最后有249个0.