- 阶乘末尾的0
- @ 2026-03-30 20:40:31
#include <bits/stdc++.h>
using namespace std;
int n,q;
int main( )
{
cin>>q;
for (int i=1;;i++)
{
int ji=1,cnt=0;
for (int j=1;j<=i;j++)
{
ji*=j;
}
while (ji)
{
if (ji%10==0)
cnt++;
else
break;
}
if (cnt==q)
{
n=i;
cout<<n;
return 0;
}
}
cout<<"No solution";
return 0;
}
4 条评论
-
202603zj11张轩铭 (张轩铭) LV 7 @ 2026-04-03 21:02:46
666还是超时
-
@ 2026-04-03 21:00:43
我去查了一下
输入输出加速
通过取消C++ IO流与C的同步以及解除cin和cout的绑定,可以显著提高输入输出速度。具体代码如下:
std::ios::sync_with_stdio(false); -
@ 2026-04-03 11:43:03
o-o
-
@ 2026-03-30 20:52:15
阶乘直接for循环求解会超int 或者是 Long Long 的范围。第一,你可以用高精度数组来求解,最后用for循环判断0的个数。第二,因为一个数乘一个数,当它们具有一个5因子和一个2因子时,它们的乘积后才会有0.这道题目中可以不用判断2因子的个数,因为这远大于5因子的个数
- 1
信息
- ID
- 1009
- 难度
- 5
- 分类
- (无)
- 标签
- 递交数
- 152
- 已通过
- 47
- 通过率
- 31%
- 被复制
- 7
- 上传者