Java代码
package com;
public class Main {
public static void main(String[] args) {
int num = 10000;
int max_len = 300000;
int[] result = new int[max_len];
int res = 0;
int start = 0;
result[0] = 1;
for (int i = 2; i <= num; i++) {
for (int j = 0; j < max_len; j++) {
res = (result[j] * i) + res;
result[j] = res % 10;
res /= 10;
}
}
//开始打印结果,从数组首位不为0的数字开始
for (int i = max_len - 1; i >= 0; i--) {
if (result[i] != 0) {
start = i;
break;
}
}
for (int i = start; i >= 0; i--)
System.out.print(result[i]);
}
}
Python实现
import math
value = math.factorial(10000)
print(value)
另外Python即使不用math,也可以直接计算大数的阶乘,毕竟不用指定数据类型。