c++ - C++ 问题:嵌套 for 循环中的“中断”不能按预期工作?
问题描述
我正在尝试编写一个程序来查找具有以下条件的特定 4 位数字:
- 所有四个数字都是不同的。
- 千位数字是十位数字的三倍。
- 数字是奇数。
- 数字之和为 27。
我正在努力编写这个程序。我尝试嵌套 for 循环迭代每个数字,直到满足条件(当 break 终止循环时),如下所示:
int a = 1;
int b = 1;
int c = 1;
int d = 1;
for (a = 1; a < 9; a++) {
for (b = 1; b < 9; b++) {
for (c = 1; c < 9; c++) {
for (d = 1; d < 9; d++) {
if (a + b + c + d == 27 && a == 3 * c && a != b && a != c
&& a != d && b!= c && b != d && c != d && d % 2 != 0) {
break;
}
}
}
}
}
我希望数字 a、b、c、d 为我提供满足上述 if 语句中的所有条件并因此中断的数字。相反,abcd 始终为 9999。为什么会发生这种情况?我如何滥用休息?
解决方案
break
只会跳出最里面的循环。因此,当您达到您的条件时,您只需进入该c
值的下一次迭代。
推荐阅读
- javascript - 使用javascript将对象转换为对象数组
- jenkins - 在 Kubernetes 集群上安装 JenkinsX - 未通过合规性测试
- python - 将单个日志文件限制为特定大小
- raku - 为什么向类型添加方法与在 perl6 中添加子或运算符不同?
- php - 从具有变化价格的 Woocommerce 可变产品下拉列表中排除产品
- linux - 有没有办法用golang将PDF转换为jpeg?
- r - R 使用 lapply() 填充和命名数据框列表中的一列
- c++ - C++ if 语句:第一个条件取代第二个 - UB 还是定义明确?
- xml - 将一个节点的子节点复制到另一个节点,但在基于匹配的单独节点中?
- android - ActivityCompat.requestPermissions 时活动被破坏