请教c++程序问题

wuxiaodong19 2010-01-19 06:44:10
在1到599内找到至少有一位数字是5的所有整数 用c++编程 谁能给下思路或者范例 谢谢哈
...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
camelisi 2010-01-20
  • 打赏
  • 举报
回复
哪重复了,跟我说说..
我先判断的个位,如果个位没有5,再判断的10位,如果10位也没有5,就判断百位
我回头再想想有没更好的方法
仅供参考,欢迎拍砖
wuxiaodong19 2010-01-20
  • 打赏
  • 举报
回复
确实 4楼的有重复撒
wuxiaodong19 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 camelisi 的回复:]
哪重复了,跟我说说..
我先判断的个位,如果个位没有5,再判断的10位,如果10位也没有5,就判断百位
我回头再想想有没更好的方法
仅供参考,欢迎拍砖
[/Quote]
我编译了下 没重复 呵呵 谢谢10楼啦
wuxiaodong19 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 camelisi 的回复:]
哪重复了,跟我说说..
我先判断的个位,如果个位没有5,再判断的10位,如果10位也没有5,就判断百位
我回头再想想有没更好的方法
仅供参考,欢迎拍砖
[/Quote]
加入是555 这程序貌似输出了3次吧。。。
qq6287976 2010-01-19
  • 打赏
  • 举报
回复
4楼的注意下 有重复情况
西斗纪名 2010-01-19
  • 打赏
  • 举报
回复
我比较赞成4楼的做法
dskit 2010-01-19
  • 打赏
  • 举报
回复
两个方案:
1. 遍历,判断每个数是否一包含5的位。 模,除被用到
2. 用字符串构造。但是你得处理重复。
linuhuge 2010-01-19
  • 打赏
  • 举报
回复
遍历就是咯,599个数。。。
camelisi 2010-01-19
  • 打赏
  • 举报
回复
void findNumber(int start, int end, int base)     //从start到end范围内包含 base的数
{
cout << "From " << start << " to " << end << " there are :" ;
for(int i = start; i <= end; ++i)
{
if(i % 10 == base || (i / 10) % 10 == base || i / 100 == base) //分别判断个十百位是否为有5
{
cout << i << " contains '" << base << "'" << endl;
}
}

}
楼主将base改成5或者调用findNumber(1,599,5)就可以了

关键是中间循环时判断个位,百位,十位是否为5,仅供参考。
itegel84 2010-01-19
  • 打赏
  • 举报
回复
直接打印:
百位为5,十位和百位随意。
十位为5,百位只能是0-5,个位随意。
个位为5,百位只能是0-5,十位随意。
...
wuxiaodong19 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aaajj 的回复:]
1 遍历 1-599
2 组合 5**  *5*  **5
[/Quote]
能说的再清楚点吗。。
aaajj 2010-01-19
  • 打赏
  • 举报
回复
1 遍历 1-599
2 组合 5** *5* **5

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧