1 条题解
-
-3
这道题very简单就是嵌套循环+高精度乘。
我发现一个奇妙的规律:n!,这个n越大,结果尾部的“0”就越多。
AC Code:
#include <bits/stdc++.h> using namespace std; short n , ans[100000] = {0 , 1};//short节省空间 int main() { cin >> n; for (int i = 1 ; i <= n ; i++) { //高精乘 for (int j = 1 ; j <= 100000 ; j++) ans[j] *= i; //进位问题 for (int j = 1 ; j <= 100000 ; j++) { if (ans[j] >= 10) { ans[j + 1] += ans[j] / 10; ans[j] %= 10; } } } //找到最高位 int top = 100000; while (ans[top] == 0) top--; //倒序输出 for (int i = top ; i >= 1 ; i--) cout << ans[i]; return 0; }
- 1
信息
- ID
- 282
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 6
- 标签
- 递交数
- 180
- 已通过
- 53
- 上传者