5 条题解
-
0
首先,这题的数据非常的小
我写的int128跑这题使用了4ms,但是好在AC了,所以用不着高精度捏。
所以使用高精度的差不多够了哈。这题考察的也根本不是高精度,考场出高精度基本要被骂毒瘤出题人的。
以下正常代码(部分):
#define i128 __int128 void solve() { i128 n,ans=1; read(n); for(i128 i = 2 ; i<=n ; i++){ ans*=i; } print(n); cout<<"!=" ; print(ans); }
long long 爆掉了,所以不建议,unsigned long long应该也不行。建议学习有关__int128的知识,和写一个快读快写差不了多少。
还有虽然有些人不知道int128,但至少把高精写在主函数外面啊喂!
递归做法:
i128 genshin(i128 p){ if(p==1)return 1; return p*genshin(p-1); } void solve() { i128 n,ans=1; read(n); ans=genshin(n); print(n); cout<<"!=" ; print(ans); }
信息
- ID
- 316
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 446
- 已通过
- 214
- 上传者