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

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

算入入门篇:超大数字运算
4.当然不是仅仅一个for循环的事,现在我们来写一个计算类用于接收一个数组和一个数
算入入门篇:超大数字运算
5.在原有阶乘的for循环里面调用该类中的方法
算入入门篇:超大数字运算
6.是不是不敢想象计算的结果有多大?我运行,走!看结果.
算入入门篇:超大数字运算
如果你们怀疑本算法的准确性;我们来计算一个小一点的数值吧!
请计算88888 ×8888的结果
算入入门篇:超大数字运算
走!我们看结果
算入入门篇:超大数字运算
8888*88888=790036544
请自行用计算机检验~
该算法原理其实很简单就是在数组的基础上进行满10进1,模10留下的原则,对算法有兴趣的同学可以了解一下.