CF633B A Trivial Problem 题解
huangxuyang · · 题解
思路
这题数据较小,可以暴力循环。 用一个变量存储当前分解出
末尾
显然
所以可推出:当
这两个结论都对解题有巨大帮助。(可以看样例分析)
样例分析
末尾
当找到
因此输入
当找到
代码
#include<bits/stdc++.h>
using namespace std;
int m,t;//t是当前能被分解出来的5的个数
bool b;//累加是否找到t使得t=m
int main(){
scanf("%d",&m);
for(int i=1;i<=500000;i++)
{
int j=i;
while(j%5==0)t++,j/=5;//分解出有几个5
if(!b&&t==m)cout<<5<<endl;//找到了且没有输出i就输出5,换行
if(t==m){b=1;cout<<i<<" ";}//输出符合要求的i
if(b&&t!=m)return 0;//找完了就结束
}
cout<<0;//一直未找到就不会结束,最后输出0
return 0;//完美结束!
}