#include<bits/stdc++.h>
using namespace std;
short a1[1000],b1[1000],c[1000],lea,leb,lec=1;
string f,g;
void chushihua(string a,string b){
lea=a.size();
leb=b.size();
for(int i=0;i<1000;i++){
a1[i]=0;
}
for(int i=0;i<1000;i++){
b1[i]=0;
}
for(int i=1;i<=lea;i++){
a1[i]=a[lea-i]-48;
}
for(int i=1;i<=leb;i++){
b1[i]=b[leb-i]-48;
}
for(int i=0;i<1000;i++){
c[i]=0;
}
}
string jia(string a,string b){
chushihua(a,b);
lec=1;
int x=0;
while(lec<=lea||lec<=leb){
c[lec]=a1[lec]+b1[lec]+x;
x=c[lec]/10;
c[lec]%=10;
lec++;
}
c[lec]=x;
while(c[lec]==0&&lec>1){
lec--;
}
string ss="",s1=" ";
for(int i=lec;i>0;i--){
s1[0]=c[i]+48;
ss.append(s1);
}
return ss;
}
string cheng(string a,string b){
chushihua(a,b);
int x;
for(int i=1;i<=lea;i++){
x=0;
for(int j=1;j<=leb;j++){
c[i+j-1]=a1[i]*b1[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+leb]=x;
}
lec=lea+leb;
while(c[lec]==0&&lec>1){
lec--;
}
string z="",y=" ";
for(int i=lec;i>=1;i--){
y[0]=c[i]+48;
z.append(y);
}
return z;
}
string int_str(int a){
int b=a;string s="",ss=" ";
while(b!=0){
ss[0]=b%10+48;
s.append(ss);
b/=10;
}
return s;
}
short n;string sk,t="0";
int main(){
cin>>n;
for(int i=1;i<=n;i++){
sk="1";
for(int j=1;j<=i;j++){
sk=cheng(int_str(j),sk);
//cout<<sk<<' ';//
}
//cout<<sk<<endl;//
t=jia(t,sk);
//cout<<t<<endl;//
}
cout<<t;
return 0;
}
第一次尝试高精度,一定是代码的问题