gpt4 book ai didi

javascript - 递归for循环

转载 作者:行者123 更新时间:2023-12-03 13:19:27 24 4
gpt4 key购买 nike

我有一个方案来获取类似以下的输出。

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

当输入为3时,它将给出8个以上的组合。如果输入为4,将有16种组合。我可以使用嵌套的for循环实现此目标,如下所示。
value1 = 2, value2 = 2, value3 = 2;
my function () {
for(var i = 0; i<this.value1; i++) {
for(var j = 0; j < this.value2; j++) {
for(var k = 0; k < this.value3; k++) {
console.log(i,j,k);
}
}
}
}

如果用于输入3,这很好,但是我必须获得输入10的输出。因此,我需要如上所述编写10个嵌套的for循环。我知道这是一种不好的做法,在这里我不知道如何使用递归。请帮我。

最佳答案

这是一个可以完成所需工作的递归函数。

function solveUtil(limits, index, cur) {
if (index === limits.length) {
console.log(cur.join(' '));
} else {

for (let i = 0; i < limits[index]; i++) {
cur.push(i);
solveUtil(limits, index + 1, cur);
cur.pop();
}
}
}

function solve(limits) {
solveUtil(limits, 0, []);
}

solve(new Array(10).fill(2));

关于javascript - 递归for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55207085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com