1 条题解
-
0
自动搬运
来自洛谷,原作者为

易颖杰
**搬运于
2025-08-24 21:40:35,当前版本为作者最后更新于2017-09-28 10:34:37,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
哈哈,这题好像没有完整题解,只有管理员的一个部分代码,那我就来发一波吧,我吧管理员的改成了完整的了,这思路确实很好,具体在代码里说明:
#include<iostream> #include<cstdio> #define ll long long using namespace std; ll l,r,w,t=1;//t是累乘的记录变量,初值要赋为1 int main() { cin>>l>>r>>w; bool found=0;//found表示有没有找到符合条件的数的一个布尔变量 if (l==1)//如果最左边是1,特判一下 { found=true;//表示找到 printf("1 ");//输出1 } if(w>1)//如果w等于1的话会死循环,一直是1 { while(t<l/w||(t==l/w&&(l%w)))//这个语句是先把t乘到最左的边界,其实我觉得可以放到下面的循环里,加一个条件判断 t=t*w; while (t<=r/w)//在l到r间找数 { t*=w; found=true;//找到数 printf("%lld ",t);//输出找到的数 } } if(!found) cout<<-1;//如果没有找到符合条件的数,输出-1 cout<<endl;//文末换行好习惯,2333~ return 0; }
- 1
信息
- ID
- 1797
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者