#include<bits/stdc++.h>
using namespace std;
void put(int i_arr[],int i){
int k=0;
while(i){
i_arr[k]=i%10;
i/=10;
k++;
}
}
void multiply(int s[],int i_arr[]){
int i,j,jin,sum,s_len,i_len;
int temp[500];
for(s_len=499;s[i]==0;s_len--);
for(i_len=499;i_arr[i]==0;i_len--);
for(i=0;i<=i_len;i++){
jin=0;
for(j=0;j<=s_len;j++){
sum=s[j]*i_arr[i]+jin+temp[i+j];
temp[i+j]=sum%10;
jin=sum/10;
}
temp[i+j]=jin;
}
for(i=0;i<500;i++){
s[i]=temp[i];
}
}
void add(int S[],int s[]){
int i,jin=0,sum=0,S_len,s_len;
for(S_len=499;S[S_len]==0;S_len++);
for(s_len=499;s[s_len]==0;s_len++);
for(i=0;i<=max(S_len,s_len);i++){
sum=S[i]+s[i]+jin;
S[i]=sum%10;
jin=sum/10;
}
S[i]=jin;
}
main(){
int n,i;
int S[500],s[500],i_arr[500];
memset(S,0,sizeof(S));
memset(i_arr,0,sizeof(i_arr));
cin>>n;
for(;n;n--){
memset(s,0,sizeof(s));
s[0]=1;
for(i=n;i;i--){
put(i_arr,i);
multiply(s,i_arr);
}
add(S,s);
}
for(n=499;S[n]==0;n--);
for(i=0;i<=n;i++){
cout<<S[i];
}
puts("");
}
>>万分感谢!