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]]