【问题描述】输出 7 和 7 的倍数,还有包含 7 的数字例如(17,27,37...70,71,72,73...)
【输入形式】一个正整数 N。(N 不大于 30000)
【输出形式】从小到大排列的不大于 N 的与 7 有关的正整数,每行一个。
【样例输入】
20
【样例输出】
7
14
17
ac代码
//试着用字符串做,应该会简单些
#include<iostream>
#include<sstream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
if(i%7==0){
cout<<i<<endl;
continue;
}
string sn;
stringstream si;
si<<i;
si>>sn;
//int judge=sn.find('7');此处有两种写法,可以这样写,sn.find('7')赋给一个值,直接将sn.find('7')写入括号内会有警告信息
if((int)sn.find('7')!=-1)//另一种是这种,前面加一个(int)即可
cout<<i<<endl;
}
}