1172:求10000以内n的阶乘
1172:求10000以内n的阶乘
时间限制: 1000 ms 内存限制: 65536 KB
提交数:51446 通过数: 16810
【题目描述】
求1000010000以内n的阶乘。
【输入】
只有一行输入,整数n(0≤n≤100000)。
【输出】
一行,即n!的值。
【输入样例】
4
【输出样例】
24
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int> a,b;
int n,sum=0;
cin>>n;
a.push_back(1);
for(int j=2;j<=n;j++){
sum=0;
for(int i=0;i<a.size()||sum;i++){
if(i>=a.size()){
a.push_back(0);
}
sum+=a[i]*j;
a[i]=sum%10;
sum/=10;
}
}
for(int i=a.size()-1;i>=0;i--){
cout<<a[i];
}
return 0;
}

浙公网安备 33010602011771号