https://www.acwing.com/problem/content/3392/
输入一个正整数 N,输出 N 的阶乘。
输入格式
输入包含多组测试数据。
每组数据占一行,包含一个整数 N。
输出格式
每组数据输出占一行,输出 N 的阶乘。
数据范围
1≤N≤1000,
每个输入最多包含 100组数据输入样例:
4 5 15
输出样例:
24 120 1307674368000
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
int main() {
int n;while(~scanf("%d",&n)) {
int s[100000]={0};
int t = 1, yu = 0;
s[0]=1;
for (int i = 2; i <= n; i++) {
for (int j = 0; j < t; j++) {
s[j] = s[j] * i + jinwei;
jinwei= s[j] / 10;
s[j] = s[j] % 10;
}
while (jinwei) {
s[t++] = jinwei % 10;
jinwei /= 10;
}
}
for (int i = t-1; i >= 0; i--) {
cout << s[i];
}
cout<<"\n";
}
return 0;
}