#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; }