Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tạo các tổ hợp mong muốn trong JavaScript


Hàm nên tìm tất cả các tổ hợp có thể có của m số cộng lại thành một số n, với điều kiện chỉ sử dụng các số từ 1 đến 9 và mỗi tổ hợp nên là một tập hợp các số duy nhất.

Ví dụ: Nếu đầu vào là:

const m = 3, n = 4;

Thì đầu ra sẽ là:

const output = [ [1, 2, 4] ];

Nếu đầu vào là:

const m = 3, n = 9;

Thì đầu ra sẽ là:

const output = [ [1, 2, 6], [1, 3, 5] ];

Ví dụ

Code cho việc 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));

Kết quả

Kết quả hiển thị trong console sẽ là:

[ [ 1, 2, 6 ], [ 1, 3, 5 ], [ 2, 3, 4 ] ]