首页 生活指南 正文内容

阶乘计算器(阶乘公式)

阿立指南 生活指南 2023-05-13 14:05:03 108

大数的阶乘问题很常见。我们来看看T公司的面试问题:

问题1:

1000的阶乘末尾有几个零?

问题2:

1000的阶乘有多少位数?

问题3:

1000的阶乘的值是多少?

1000的阶乘末尾有多少个0?

直接递归计算?有点天真。1000的阶乘是一个非常大的数字,所以我们必须想别的办法。注意:需要1000的阶乘末尾的零的个数,而不是求1000的阶乘。

喜欢编程的朋友可以加小Q群1026782549,可以免费领取学习资料和源代码!也可以关注边肖的微信微信官方账号:节目文子,获取资讯。

显然,从分解质因数的过程来看,末尾的零一定是2和5的乘积,而在阶乘中,5是稀缺值,2是剩余值。因此,只需要知道素数因子中5的个数就可以了。让我们以26的阶乘为例:

阶乘计算器(阶乘公式)插图

可以看出,5有6个,2也很多,我们只需要看5的数量就可以了。支一,26的阶乘末尾有六个零。用阶乘计算器看看,它是:

阶乘计算器(阶乘公式)插图(1)

让我们讨论更一般的情况:

设f(x)是x中因子5的个数,而[x]是由x向下舍入的值,则有:

阶乘计算器(阶乘公式)插图(2)

所以:

阶乘计算器(阶乘公式)插图(3)

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

阶乘计算器(阶乘公式)插图(4)

结果:249。可以看出,1000的阶乘末尾有249个零。

喜欢编程的朋友可以加小Q群1026782549,可以免费领取学习资料和源代码!也可以关注边肖的微信微信官方账号:节目文子,获取资讯。

1000的阶乘有多少位数?

直接递归计算?有点天真。让我们看看下面的规则:

阶乘计算器(阶乘公式)插图(5)

设f(x)是x的位数,而[x]是由x向下舍入的值,则:

阶乘计算器(阶乘公式)插图(6)

至于程序,很简单:

阶乘计算器(阶乘公式)插图(7)

结果:2568。可以看出,1000的阶乘有2568位。

1000的阶乘的值是多少?

直接递归计算?有点天真。让我们用绳子来做:

阶乘计算器(阶乘公式)插图(8)

阶乘计算器(阶乘公式)插图(9)

结果是:

阶乘计算器(阶乘公式)插图(10)

可以看到,1000的阶乘有2568位,最后有249个零。

喜欢编程的朋友可以加小Q群1026782549,可以免费领取学习资料和源代码!也可以关注边肖的微信微信官方账号:节目文子,获取资讯。

文章目录
    搜索
    疑难解答指南 www.zbem.com.cn