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