输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.fn(5,7) =>[1,2,4][2,5][3,4]
1 回答

翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
function f(max, min, m, t, mid, result) { if (t > m) { return } if (t === m) { result.push(mid) return } for (let i = min; i <= max; i++) { f(max, i + 1, m, t + i, [...mid, i], result) } }var result = []var m = 5var n = 10f(Math.min(m, n), 1, m, 0, [], result) console.log(result)
添加回答
举报
0/150
提交
取消