刚答过一个大数阶乘的,精确算到10000!没问题
#include <stdio.h>
#define N 10000
int main()
{
static long int r[N] = { 1 };
int i, j,n;
int k = 0, l = 0;
printf("输入一个数求其阶乘\n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 0; j <= l; j++)
{
r[j] = r[j] * i + k;
k = r[j] / 10000;
r[j] = r[j] % 10000;
}
if (k)
{
l++;
r[j] = k;
k = 0;
}
}
j = l;
printf("%d!=%d", i-1, r[j--]);
for (; j >= 0; j--)
{
printf("%04d", r[j]);
}
printf("\n");
return 0;
}
追问您好,能麻烦一下把答案复制给我吗?
我好像不能复制……
追答#include #define N 10000 int main() { static long int r[N] = { 1 }; int i, j,n; int k = 0, l = 0; printf("输入一个数求其阶乘\n"); scanf("%d", &n); for (i = 1; i = 0; j--) { printf("%04d", r[j]); } printf("\n"); return 0; }
追问谢谢谢谢(*°∀°)=3