题目描述
输出7和7的倍数,还有包含7的数字例如(17,27,37…70,71,72,73…)
输入
首先输入一个整数t,表示有t组数据。
然后有t行,每行一个整数N。(N不大于30000)
输出
对于每组数据 ,输出从小到大排列的不大于N的与7有关的数字。每组数据占一行,每个数字后面有一个空格;
样例输入
2
20
30
样例输出
7 14 17
7 14 17 21 27 28
本题使用嵌套循环可轻易解题
代码如下
#include<stdio.h>
int main()
{
int t,n,i,j;
scanf("%d\n",&t);//一共t组数据
for(i=1;i<=t;i++)//t组循环
{
scanf("%d\n",&n);//一组的数据n
for(j=7;j<=n;j++)//依次寻找和7相关的数字,因为和7相关,从7出发更简单
{
if(j%7 == 0)//能被7整除的
printf("%d ",j);
else if(j%10==7 || j/10%10==7 || j/100%10==7 || j/1000%10==7)//数字中带7的
printf("%d ",j);
}
printf("\n");//一组结束换行
}
return 0;
}