Hàm sẽ tìm tất cả các kết hợp có thể có của m số cộng lại với số n, với điều kiện là chỉ có thể sử dụng các số từ 1 đến 9 và mỗi kết hợp phải là một tập hợp số duy nhất.
Ví dụ - Nếu đầu vào là -
const m = 3, n = 4;
Sau đó, đầu ra phải là -
const output = [ [1, 2, 4] ];
Nếu đầu vào là -
const m = 3, n = 9;
Sau đó, đầu ra phải là -
const output = [ [1, 2, 6], [1, 3, 5], ];
Ví dụ
Mã cho điều này sẽ là -
const m = 3, n = 9;
const findSum = (m, n) => {
const search = (from, prefix, m, n) => {
if (m === 0 && n === 0) return res.push(prefix);
if (from > 9) return;
search(from + 1, prefix.concat(from), m − 1, n − from);
search(from + 1, prefix, m, n);
};
const res = [];
search(1, [], m, n);
return res;
};
console.log(findSum(m, n)); Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ [ 1, 2, 6 ], [ 1, 3, 5 ], [ 2, 3, 4 ] ]