61qf222 @ 2022-10-21 20:24:51
#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
// 高精度加法
vector<int> mysum(vector<int> a,vector<int> b)
{
vector<int> res;
int grad=0;
int i;
for(i=0;i<a.size()||i<b.size();i++)
{
int temp=grad;
if(i<a.size())temp+=a[i];
if(i<b.size())temp+=b[i];
res.push_back(temp%10);
grad=temp/10;
}
if(grad)res.push_back(grad);
return res;
}
vector<int> torv(int a)
{
vector<int> res;
while(a)
{
res.push_back(a%10);
a/=10;
}
return res;
}
// 高精度乘法
vector<int> mymul(vector<int> a,int b)
{
vector<int> res;
int grad=0;
for(int i=0;i<a.size();i++)
{
int temp=a[i]*b+grad;
res.push_back(temp%10);
grad=temp/10;
}
if(grad)res.push_back(grad);
return res;
}
int main()
{
int n;
cin>>n;
vector<int> sum;
for(int i=1;i<=n;i++)
{
vector<int> temp={1};
for(int j=1;j<=i;j++)
{
temp=mymul(temp,j);
}
sum=mysum(sum,temp);
}
reverse(sum.begin(),sum.end());
for_each(sum.begin(),sum.end(),[](int x){cout<<x;});
}
by Dream_Creator @ 2022-10-21 20:28:48
@61qf222 打表