1 条题解
-
2余东霖 (yudonglin) LV 7 @ 2023-5-18 20:53:57
#include <stdio.h> #include <iostream> #include <vector> #include <iomanip> #include <string.h> #include <algorithm> #include<bits/stdc++.h> using namespace std; const int N=1e6+10; int ans[N], len=1; void a(int x){ for(int i=0; i<len; i++){ ans[i] *= x; } for(int i=0; i<len; i++){ ans[i+1]+=ans[i]/10000; ans[i]%=10000; } while(ans[len]!=0){ ans[len+1]+=ans[len]/10000; ans[len]%=10000; len ++; } } int main(){ int n; cin >> n; ans[0]=1; for (int i=2; i<=n; i++){ a(i); } len --; cout <<n<<"!="<< ans[len]; for(int i=len-1; i>=0; i--){ printf("%04d",ans[i]); } return 0; }//这道题主要的难点在于他很容易超时,所以我们要采用结构体等方式,别忘了点个赞再走哦,另外感谢泰裤辣提供的思路
- 1
信息
- ID
- 1718
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 23
- 已通过
- 6
- 上传者