題目描述
輸入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;
}