【题目描述】
求10000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤10000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
【代码】
[C++] 纯文本查看 复制代码 #include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n;
int num[40000], len = 1;
num[1] = 1;
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
int r = 0;
for (int j = 1; j <= len; j++) {
int result = num[j] * i + r;
num[j] = result % 10;
r = result / 10;
}
while (r) {
num[++len] = r % 10;
r /= 10;
}
}
for (int i = len; i >=1; i--) {
printf("%d", num[i]);
}
}
|