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

Tìm hai số tích bằng tổng phần còn lại trong JavaScript

Cho dãy số 1..num. Tìm cặp (m,n) sao cho sum(1..num) - (m+n) = m*n. Trả về mảng các cặp thỏa mãn.

Ví dụ: num=10 → [[7,6]] (sum=55, 55-(6+7)=42=6*7).

Ví dụ

const num = 10;
const pickNumbers = num => {
  const sum = num * (num + 1) * 0.5;
  const results = [];
  for (let n = 1; n <= num; n++) {
    let first = sum - n;
    let second = n + 1;
    if (first % second === 0) {
      let m = first / second;
      if (m < num && m !== n && results.every(g => g[0] + g[1] !== m + n))
        results.push([m, n]);
    }
  }
  return results;
};
console.log(pickNumbers(10));

Kết quả

[[7, 6]]