- #include <stdio.h>
- #define N 5000
- int main(void)
- {
- int n, i, j, s, up, f[N] = {0};
- printf("请输入您要计算阶乘的数:\n");
- scanf("%d", &n);
- for (i = 2, f[0] = 1; i <= n; i++)
- {
- for (j = up = 0; j < N; j++)
- {
- s = f[j] * i + up;
- f[j] = s % 10;
- up = s / 10;
- }
- }
- for (i = N-1; f[i] == 0; i--) ;
- for (; i >= 0; i--) printf("%d", f[i]) ;
- printf("\n");
- getch();
- return 0;
- }
- 精确计算阶乘,5000认真会回帖是对楼主的尊重:)
复制代码 |