提交时间:2024-08-20 08:13:50
运行 ID: 168219
#include <bits/stdc++.h> using namespace std; int a[1000001],n,x,len=1; int main() { cin>>n; a[1]=1; // 1!=1 for(int i=2; i<=n; ++i) { // 2!=2*1=2; 3!=3*2*1=6; 4!=4*3*2*1=24; 5!=5*4*3*2*1=120; 6!=6*5*4*3*2*1=720 x=0; //进位统计 for(int j=1; j<=len; ++j) { a[j]=a[j]*i+x; x=a[j]/10; //判断是否需要进位及进位多少 a[j]=a[j]%10; if(x>0&&j>=len) len++; } } cout<<n<<"!="; for(int i=len;i>=1;i--) cout<<a[i]; return 0; }