4 つの数値 A、B、C、および D をリストする必要があるとします。A+B+C+D の合計は 10 で、各数値の値は [0, 10] の範囲です。
可能な組み合わせをすべて見つけてください。
力ずくの方法は次のとおりです。
for (int A = 0; A <=10; ++A)
for (int B = 0; B <=10-A; ++B)
{
if (A + B > 10) break;
for (int C = 0; C <=10-A-B; ++C)
{
if (A + B + C > 10) break;
for (int D = 0; D <=10-A-B-C; ++D)
{
if (A + B + C + D == 10)
{
cout << "A: " << A << ",B: " << B << ",C: " << C << ",D: " << D << endl;
break;
}
else if (A + B + C + D > 10)
break;
}
}
}
Q> より良い解決策はありますか?
参考: コードは @rici からの提案に基づいて更新されます