韩信点兵,三人一组余两人,五人一组余三人,七人一组余四人,请问最少需要多少士兵。
* 分析:
* 1.因为不明确需要查找数据的范围,范围:[1, 不确定],所以我们此处可以使用死循环
* 死循环:从1开始递增,每次递增值为1。
* 2.找到符合条件的士兵数量,那么就需要停止循环
* 使用break。
* 当“三人一组余两人,五人一组余三人,七人一组余四人”条件成立,即输出需要士兵人数,并且跳出循环
*
* 补充:死循环一般和break关键字一起使用。
*/
public class BreakTest01 {
public static void main(String[] args) {
int i = 1; // 循环变量i就代表着士兵人数
while(true) {
// 当士兵人数满足“三人一组余两人,五人一组余三人,七人一组余四人”条件,即为找到韩信点兵的数值
if(i % 3 == 2 && i % 5 == 3 && i % 7 == 4) {
System.out.println(i);
// 因为找到符合条件的士兵数量,那么可以结束循环了
break;
}
i++; // 如果本趟循环不符合条件,那么士兵人数递增一个
}
}
}