题目描述:
求10000以内n的阶乘。带我去看题目
输入:
只有一行输入,整数n(0 ≤ n ≤ 10000)。
输出:
一行,即n!的值。
输入样例:
4输出样例:
24通过代码:
#include <bits/stdc++.h> using namespace std; unsigned int n,a[40001] = {1,1}; int main(){scanf("%d",&n);for(register int i = 2;i <= n;i ++){register int j;for(j = 1;j <= a[0];j ++) a[j] *= i;for(j = 1;j <= a[0];j ++){if(a[j] > 9){a[j + 1] += a[j] / 10;a[j] %= 10;if(j == a[0])a[0] ++;}}}while(a[a[0]] == 0 && a[0] > 0) -- a[0];for(register int i = 1;i <= a[0];i ++)putchar(a[a[0] - i + 1] + '0'); }
详细解决方案
1172:求10000以内n的阶乘
热度:98 发布时间:2024-02-11 11:52:51.0