【发布时间】:2021-07-24 02:26:18
【问题描述】:
我有一个维度为n 的数组y,每个维度都有m 条目。
如何使用嵌套的 for 循环遍历所有索引组合?
我想获得所有可能的总和组合,如以下代码所示:
for (int i = 0; i < m; ++i) {
for (int j = 0; j < m; ++j) {
...
for (int k = 0; k < m; ++k) {
z = x[0] + y[i]*x[1] + y[j]*x[2] + ... + y[k]*x[n];
}
}
}
如果使用for 循环无法做到这一点,那还能如何实现?
【问题讨论】:
-
您可以使用大小为 N 个嵌套循环的 std::vector 并在每个循环中更新每个条目。
-
你可以使用递归。它可以证明是一个更好的替代品
-
@Daniyal Shaikh 感谢您的回复。我有点困惑如何在这种情况下使用递归
-
如果您向我解释您的确切问题,我可能会有所帮助。谢谢
-
z不会在循环的每次迭代中被覆盖吗?z的最终值将是x[0] + y[m-1][*x[1] + y[m-1]*x[2] + ...
标签: c++ c loops recursion nested