题目描述
小明对某些数字有偏爱,例如,他喜欢7的倍数,而不喜欢4的倍数,如果一个整数是7的倍数,而不是4的倍数,小明会认为这个数字是他的幸运数字。现在给定两个整数m和n,请你帮小明找m到n范围内的最大的幸运数字。如果m到n范围内没有幸运数字,则输出“no”
输入
两个正整数m和n (m < =n,且均小于10的9次方)
输出
一个整数,即m到n范围内的最大的幸运数字。
样例输入 Copy
90 100
样例输出 Copy
98
我第一次写的,错了的代码:
#include<stdio.h>
int main()
{
int m,n,i,find,max;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
if(i%7==0&&i%4!=0)
{
max=i;
find=1;
}
}
if(find==1)
printf("%d\n",max);
else
printf("no\n");
return 0;
}
改过后运行正确的代码:
#include<stdio.h>
int main()
{
int m,n,i,find=0,max;
scanf("%d%d",&m,&n);
if(m<=n&&m<1e10)
{
for(i=m;i<=n;i++)
{
if(i%7==0&&i%4!=0)
{
max=i;
find=1;
}
}
}
if(find==1)
printf("%d\n",max);
else
printf("no\n");
return 0;
}
所以一定要注意限定条件
相对简化一点的方法:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int c=0;
for(;b>=a;b--)
{
if(b%7==0&&b%4!=0)
{
printf("%d",b);
c++;
break;
}
}
if(c==0) printf("no");
return 0;
}