题目描述
输入n,输出n的阶乘。
输入
输入包含一个正整数n,n<=1000
输出
输出n!的准确值。
样例输入
10
样例输出
3628800
思路
高精度乘法(大数乘法)
AC代码
#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> v;
vector<int> mul(int x){
vector<int> res;
int t=0;
for(int i=0;i<v.size();i++){
t=v[i]*x+t;
res.push_back(t%10);
t=t/10;
}
while(t!=0){
res.push_back(t%10);
t=t/10;
}
return res;
}
int main(){
cin>>n;
v.push_back(1);
for(int i=2;i<=n;i++){
v=mul(i);
}
for(int i=v.size()-1;i>=0;i--)
cout<<v[i];
return 0;
}