ধরুন নিম্নলিখিতটি সমস্যা:
আমাদের কাছে 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] ]