版权声明:我的就是我的 https://blog.csdn.net/qq_41638851/article/details/89192473
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
while(cin>>n){
int a[10000];
a[0]=1;
int temp=0;
int s=0; //temp为当下阶乘结果为几位
for(int i=1;i<=n;i++){
int t=0; //t为进几
for(int j=0;j<=temp;j++){ //将十位和个位分离
s=s+a[j]*i;
a[j]=s%10;
s=s/10;
}
while(s){
temp++;
a[temp]=s%10;
s=s/10;
}
}
for(int i=temp;i>=0;i--)
cout<<a[i];
cout<<endl;
}
return 0;
}