循环-输出整数求助

3. 循环-输出整数

题目ID:1124100分

最新提交:

Wrong Answer

0 分

历史最高:

Wrong Answer

0 分

时间限制: 1000ms

空间限制: 65536kB

题目描述

时间:1s 空间:256M

题目描述:

输出1−n1−n中能被33整除,且至少有一位数字是55的所有整数.

输入格式:

输入一行,包含一个整数。

输出格式:

输出所有满足条件的数,以换行隔开,具体见样例。

样例输入:

100

样例输出:

15 45 51 54 57 75

约定:

1<=n<=100000 1<=n<=100000

提示:

for循环1到n会吧?
判断能被3整除也简单,
至少有一位数字是5只需要不停除10取个位判断就行了

   for(int i=1;i<n;i++){
      bool a=0;
      while(n){
           if(n%10==5){
              a=1;
              break;
           }
           n/=10
      }
      if(i%3==0&&a==1)cout<<i;
   }

@王子诺

错误代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,s;
cin>>n;
for(int i=1;i<=n;i++){
if(i%3==0){
s=i;
while(s>0){
if(s/10==5){
cout<<i<<endl;
}
s/=10;
}
}
}
return 0;
}

if(s/10==5)
{
    cout << i << endl;
}

改成:

if(s%10==5) //取的是个位,即为s%10的结果
{
    cout << i << endl;
    break; //找到了就不用继续了,退出
}

试试应该对了

对了给个孑孓方案把蟹蟹 :melting_face:

@王子诺