一、大数阶乘的数据保存
大数进行阶乘,将数据保存在数组中。这样遍历数组,就可以打印出阶乘的结果。
核心计算就是:将阶乘的乘法转化为加法和进位
比如:计算6!= 2*3*4*5*6 设为i
初始result[1]=1,result.length=1,carry默认是0
i = 2 -------->result[1]=(i*result[1])%10=2,carry=0,没产生进位,数组长度不增加,result[1]=2
i = 3 -------->result[1]=(i*result[1])%10=6,carry=0,没产生进位,数组长度不增加,result[1]=2
i = 4 -------->result[1]=(i*result[1])%10=24%10=4,carray=24/10=2,carry不为0,要产生进位,length++,此时result[1]=4,result[2]=0默认
result[2]=(i*result[2])%10=4*0+2=2,carry=0,此时,result[1]=4,result