###### 问题遇到的现象和发生背景
###### 问题相关代码,请勿粘贴截图
###### 运行结果及报错内容
###### 我的解答思路和尝试过的方法
###### 我想要达到的结果
#include <iostream>
int main()
{
const int N = 36;
for (int i = 1; i < N / 4; i++)
{
for (int j = 1; j < N / 3; j++)
{
for (int k = 2; k < N * 2; k += 2)
{
if ((i + j + k == N) && i * 4 + j * 3 + k / 2 == N)
std::cout << i << ' ' << j << ' ' << k << '\n';
}
}
}
return 0;
}
你的第三个for循环,初始化k=2,而你的循环条件是k<=1,所以第三个for循环不成立,你的输出就肯定不行呀,你的循环条件必须大于或者等于2
说实话你这个代码应该思路就错了
这是一道枚举的题目 首先你循环的条件应该是每一种人最多的人数而不是砖头的块数 其次你要判断一下这种搭配符不符合再输出 不能盲目输出实在不行你就暴力打表吧