मान लें कि निम्नलिखित समस्या है:
हमारे पास 1 से शुरू होने वाली और किसी भी मनमानी संख्या तक संख्याओं का एक क्रम है, चलो इसे संख्या कहते हैं। हमें अनुक्रम से दो ऐसी संख्याएँ चुननी हैं (चलिए उन्हें m और n कहते हैं), जैसे:
sum(1 to num) - (m + n) = m * n
और अंत में, हमें ऐसे सभी नंबरों के समूहों की एक सरणी वापस करनी चाहिए।
उदाहरण के लिए -
यदि इनपुट है -
const num = 10;
तब आउटपुट होना चाहिए -
const output = [ [7, 6] ];
क्योंकि योग(1 से 10) =55
और,
55 - (6 + 7) = 6 * 7 = 42
उदाहरण
इसके लिए कोड होगा -
const num = 10;
const pickNumbers = num => {
const sum = (num) * (num + 1) * (.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(group => group[0] + group[1]
!== m + n)){
results.push([m, n]);
}
}
}
return results;
}
console.log(pickNumbers(10)); आउटपुट
और कंसोल में आउटपुट होगा -
[ [7, 6] ]