#include<iostream>
using namespace std;
int a[40000];
int main(){
int n;
cin>>n;
a[1]=1;//初始1的阶乘
a[0]=1;//数组的长度
for(int i =2;i<=n;i++){//n的阶乘
int t=0;//t代表进位数
for(int j =1;j<=a[0];j++)
{ //从低位到高位去乘以数组中的每个元素
a[j]=a[j]*i+t;
t=a[j] /10;
a[j]%=10;
}
while(t>0){//处理进位数不为0,最高位处理
a[0]++;//有进位
a[a[0]]=t%10;
t=t/10;
}
}
for(int i =a[0];i>0;i--){
cout<<a[i];
}
return 0;
}

京公网安备 11010502036488号