【题目链接】
【题目考点】
1. 枚举
2. 循环控制
- break:跳出循环
- continue:重新开始循环
【解题思路】
一共n人,每行2人,多出1人,即为n%2==1
,每行3人,多出1人,即为n%3==1
,其他条件同理。从1开始从小到大看每个数字,找到第一个满足所有条件的数字,将它输出,程序结束。
【题解代码】
解法1:用break语句
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i = 1, a = 0;
while(true)
{//看数字a是否满足条件
a++;
if(a%2 == 1 && a%3 == 1 && a%4 == 1 && a%5 == 1 && a%6 == 1 && a%7==0)
{
cout << a;
break;
}
}
return 0;
}
解法2:用while语句做判断
前提已知肯定存在满足这一条件的数字,那么只要a不满足该条件,a就增加1,直到a满足时,输出a
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a = 1;
while(!(a%2 == 1 && a%3 == 1 && a%4 == 1 && a%5 == 1 && a%6 == 1 && a%7==0))
a++;//只要不满足上述条件,a就增加1,直到a满足为止。
cout << a;
return 0;
}