http://47.104.209.207/problem/old1072
需要用到高精度乘法(高精度数乘以int)。
1 #include<iostream> 2 #include<queue> 3 #include<vector> 4 #include<algorithm> 5 using namespace std; 6 vector<int> mul(vector<int>&a,int b){ 7 int t=0; 8 vector<int> res; 9 for(int i=0;i<a.size();i++){ 10 t=a[i]*b+t; 11 res.push_back(t%10); 12 t/=10; 13 } 14 while(t) res.push_back(t%10),t/=10; 15 return res; 16 } 17 int main(){ 18 int n; 19 cin>>n; 20 vector<int> res; 21 res.push_back(1); 22 for(int i=1;i<=n;i++){ 23 res=mul(res,i); 24 } 25 reverse(res.begin(),res.end()); 26 for(int i=0;i<res.size();i++){ 27 cout<<res[i]; 28 } 29 return 0; 30 }