敲七
描述
输出7和7的倍数,还有包含7的数字。例如(17,27,37…70,71,72,73…)
输入
一个整数N。(N不大于30000)
输出
从小到大排列的不大于N的与7有关的数字,每行一个。
代码
#include <iostream>
using namespace std;
bool judge(int q)
{
while(q)
{
if(q % 10 == 7)
return true;
q /= 10;
}
return false;
}
int main()
{
int n,q;
cin >> n;
for(int i = 1; i <= n; i++)
{
if(i % 7 == 0 || judge(i))
cout << i << endl;
}
return 0;
}
思路
输出七和七的倍数,这一类问题可以利用循环加条件语句解决,而判断一个数是否含有七也可以用循环解决但是容易和七的倍数重复输出,这是可以另外写一个bool函数来判断一个数是否含有七,在bool循环中写一个while循环,利用while循环来判断是否含有七,若有就返回true否则就返会false。这样再利用循环判断是否为七的倍数的同时也可以判断是否含有七。