贴个代码以便查找
void Print_Factorial(const int N) {
int result[3000];
int cheng_shu = 0;
int jin_wei = 0;
int wei_shu = 1;
int lin_shi_jie_guo = 0;
for (int i = 0; i < 1000; i++) {
result[i] = 0;
}
result[0] = 1;
for (int i = 2; i <= N; i++) { //从2开始计算阶乘
cheng_shu = i;
for (int j = 1; j <= wei_shu; j++) { //因为位数为1 故j = 1
lin_shi_jie_guo = result[j-1] * cheng_shu + jin_wei;
result[j-1] = lin_shi_jie_guo % 10;
jin_wei = lin_shi_jie_guo / 10;
}
while (jin_wei != 0) {
wei_shu++;
result[wei_shu - 1] = jin_wei % 10;
jin_wei /= 10;
}
}
if (N < 0) printf("Invalid input");
else
for (int i = wei_shu - 1; i >= 0; i--)
printf("%d", result[i]);
}