ฟังก์ชันควรค้นหาชุดค่าผสมที่เป็นไปได้ของตัวเลข m ทั้งหมดที่รวมกันเป็นตัวเลข n โดยกำหนดให้ใช้ได้เฉพาะตัวเลขตั้งแต่ 1 ถึง 9 และแต่ละชุดค่าผสมควรเป็นชุดตัวเลขที่ไม่ซ้ำกัน
ตัวอย่างเช่น − หากอินพุตเป็น −
const m = 3, n = 4;
จากนั้นผลลัพธ์ควรเป็น −
const output = [ [1, 2, 4] ];
หากอินพุตเป็น −
const m = 3, n = 9;
จากนั้นผลลัพธ์ควรเป็น −
const output = [ [1, 2, 6], [1, 3, 5], ];
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ [ 1, 2, 6 ], [ 1, 3, 5 ], [ 2, 3, 4 ] ]