算入入门篇:超大数字运算

这篇博客介绍了如何用算法解决超大数字如50的阶乘运算问题,当常规计算方式超出计算机处理范围时,通过定义大数组并利用特定计算类实现阶乘计算。博主以简单的步骤解释了算法思路,并提供了计算88888 × 8888的示例以验证算法的准确性,鼓励对算法感兴趣的读者进一步探索。
摘要由CSDN通过智能技术生成

小柴刚花了一小时学会一个算法;已经迫不及待想分享出来了!
激动激动~
首先我们口算一下5的阶乘等于多少?掐指一算等于120;没毛病;在java程序里解决5!阶乘运算也就是一个for循环的事儿简单的一扒;如果我说让你用java实现50!的阶乘,你能算出来答案吗?别折腾了,面对要计算50!阶乘的结果我们的计算机君表示已阵亡.50!阶乘的结果是非常大的,已经远远超出计算机计算范围之外.
现在我们来编写一个算法来解决50!阶乘计算结果吧
思路步骤:
1.我们先定义一个特别大的数组 ,数组长度我给他100;够大吧!
2.在数组最后一位length-1索引上赋值1.
3.然后我们上for循环

这里写图片描述
4.当然不是仅仅一个for循环的事,现在我们来写一个计算类用于接收一个数组和一个数
这里写图片描述
5.在原有阶乘的for循环里面调用该类中的方法
这里写图片描述
6.是不是不敢想象计算的结果有多大?我运行,走!看结果.
这里写图片描述
如果你们怀疑本算法的准确性;我们来计算一个小一点的数值吧!
请计算88888 ×

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值