算法分析:
由于n的规模比较大,其尾数的个数也会相应地多,所以在这里我们可以用arr数组来存储阶乘的的各位数字,a[0]存储各位,a[1]存储十位,依次类推。
接下来还有个问题需要解决,那就是arr数组的个数。
在这里我们可以利用对数和来统计阶乘的个数m:
累加和: s = lg2 + lg3 + ...... + lgn
m = s + 1
然后设置循环进行累乘,将各个位数存入arr数组中。
i的结果依次为2、3、4、5、6、......、n
g为进位数
各个数的乘积t:
t = arr[j] * i + g;
乘积t的个位数字存于本数组
arr[j] = t %1