小机灵鬼|阶乘也很有趣:从阶乘到伽玛函数到任意数的阶乘
阶乘运算(Factorial)任何大于等于1 的自然数n 阶乘:
也即
下表给出了一些自然数的阶乘值:
100!是一个158位的整数
100!这么大的数到底怎么算出来的呢?
阶乘的计算直接求阶乘 , 需要经过大量的乘法运算 , 位数太多 , 计算机也无法表示出来 。 此时 , 往往采用对数方法 , 将阶乘的乘法运算化为加法运算 。 如
编写一段Python语言代码求等式右边的值:
import math
digit_num =0.0
for i in range(100):
digit_num += math.log10(i+1)
print(digit_num)
运行得到
【小机灵鬼|阶乘也很有趣:从阶乘到伽玛函数到任意数的阶乘】157.97000365471575(近似值) , 即
这说明100!是一个158位的数 。 根据对数函数与指数函数的关系 , 可以反求出阶乘值:
以前不理解对数意义的朋友这里可以体会到对数的强大威力了吧?
另 , 阶乘有一个有趣的近似公式:
斯特林()公式- Stirling's approximation
斯特林公式与阶乘曲线对比
我们实际验证一下斯特林公式的误差 。 将n=100代入上述公式 , 得到100!≈9.3248476252693432477647561271787023234709745647418062292817958153368849555554046603086239162755522767325066157982750581730201788648720772023094674209485726744222550819049228652031041119504096696429434529708431163809342056757648101523406286160085266735172818639831611426620941684736285030409855242311268344207307073067790438191255736013812573265362270229118719809726115438569410402607630035313046957956392566366745658132452941877904052886947223641749037779513877635612354880691524914259437590327045612488757528210... × 10^157
与我们用对数求得的值之间的误差大约为0.08329% , 即万分之8.3 , 相当精准吧!!!
推荐阅读
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 仙女山的月亮|宋威龙隔着张新成对谭松韵摇头晃脑,谁注意张新成的表情?太有趣
- 侃军讯事|游戏中给你带来无尽乐趣 附获取方式,盘点魔兽怀旧服的有趣玩具
- 网络游戏|盘点魔兽怀旧服的有趣玩具 游戏中给你带来无尽乐趣 附获取方式
- 执笔抒情|万茜发文向宁静郁可唯几位姐姐道歉,配图还在抖机灵
- 反黑路人甲|TVB新剧《反黑路人甲》最有趣的角色,明明是反派却莫名讨喜!
- |《以家人之名》今晚温情收官有爱又有趣的三兄妹见证成长
- 小机灵鬼|央视重磅关注天府新区这件事
- 专门网|2020上那些有趣的智能手机,盘点IFA
- NBA|原创万茜发文向宁静郁可唯几位姐姐道歉,配图还在抖机灵
