网站首页 > 技术教程 正文
大数阶乘问题,是很常见的,来看一下T公司的面试题目:
问题一:
1000的阶乘末尾有多少个0?
问题二:
1000的阶乘有多少位数?
问题三:
1000的阶乘的值是多少?
1000的阶乘末尾有多少个0?
直接递归计算吗?有点天真了。1000的阶乘,是一个非常大的数字,得想其它办法了。注意:要求的是1000的阶乘末尾的0的个数,而不是求1000的阶乘。
喜欢编程的小伙伴可以加小编的Q群1026782549,进群可以领取免费的学习资料跟源代码哦!也可以关注小编的微信公众号:编程雯子,领取资料哦
很显然,从分解质因数的过程来看,结尾的0必然是2和5的乘积,而且在阶乘中,5是稀缺值,而2是富余值,所以,只需要知道质因数中5的个数就行了。我们以26的阶乘为例:
可见:其中有6个5,有充足的2,所以只需要看5的个数。易知,26的阶乘的末尾有6个0. 用阶乘计算器来看下,果然如此:
我们来讨论更一般的情况:
设f(x)是x中因数5的个数, [x]为x向下取整的值,则有:
所以:
至于程序,给个递归版本吧:
结果:249. 可见,1000的阶乘末尾有249个0.
喜欢编程的小伙伴可以加小编的Q群1026782549,进群可以领取免费的学习资料跟源代码哦!也可以关注小编的微信公众号:编程雯子,领取资料哦
1000的阶乘有多少位数?
直接递归计算吗?有点天真了。我们来看下如下规律:
设f(x)为x的数位个数,[x]为x向下取整的值,则有:
至于程序,那就很简单了:
结果:2568. 可见,1000的阶乘有2568位。
1000的阶乘的值是多少?
直接递归计算吗?有点天真了。 还是用字符串来做吧:
结果是:
可以看到,1000的阶乘有2568位,且最后有249个0.
喜欢编程的小伙伴可以加小编的Q群1026782549,进群可以领取免费的学习资料跟源代码哦!也可以关注小编的微信公众号:编程雯子,领取资料哦
猜你喜欢
- 2024-11-17 复利与e(二)(e和复利)
- 2024-11-17 有人说:最强大脑周玮算的再强也没啥价值,因为有计算器
- 2024-11-17 小学生“倒数第一”试卷走红!老师:你这智商太高,我教不了的!
- 2024-11-17 【赵千亿银从】别天真,银从机考可不是点点鼠标就行了
- 2024-11-17 一副纸牌有多少种排列方式(一副纸牌有多少张牌)
- 2024-11-17 利用Scratch循环算法计算阶乘(scratch循环语句类型)
- 2024-11-17 古董级德州仪器图形计算器拆解:竟然还能超频
- 2024-11-17 超强高等数学计算器(高等数学计算器在线计算使用)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)