【题目描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤100000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
#include<stdio.h> #include<string.h> int main() { int a[1000000]; int n; scanf("%d", &n); if (n == 0) printf("0"); else { memset(a, -1, sizeof(a)); a[0] = 1; int j; for (int i = 1; i <= n; i++) { j = 0; while (a[j] != -1) { a[j++] *= i; } j = 0; while (a[j] != -1) { if (a[j] >= 10 && a[j + 1] == -1) { a[j + 1] = 0; } a[j + 1] += a[j] / 10; a[j] %= 10; j++; } } for (int i = j - 1; i >= 0; i--) { printf("%d", a[i]); } } return 0; }
一本通 1172:求10000以内n的阶乘
最新推荐文章于 2022-11-10 11:27:36 发布