কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে টার্গেট নাম্বার পাওয়ার জন্য পারমুটেশন তৈরি করা (সংখ্যা পুনরাবৃত্তি অনুমোদিত)

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে সংখ্যার একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে একটি টার্গেট সম সংখ্যা নেবে।

ফাংশনটি আসল অ্যারেতে থেকে সেই সব সাবঅ্যারে রিটার্ন করবে যাদের এলিমেন্টের যোগফল টার্গেট সম করে তৈরি হয়। একটি সংখ্যা একাধিকবার ব্যবহার করা যাবে।

উদাহরণস্বরূপ:

ইনপুট অ্যারে এবং সংখ্যা যদি হয়:

const arr = [1, 2, 4];
const sum = 4;

তাহলে আউটপুট হবে:

const output = [
  [1, 1, 1, 1],
  [1, 1, 2],
  [2, 2],
  [4]
]

উদাহরণ

const arr = [1, 2, 4];
const sum = 4;
const getCombinations = (arr = [], sum) => {
  const result = [];
  const pushElement = (i, t) => {
    const s = t.reduce(function (a, b) {
      return a + b;
    }, 0);
    if (sum === s) {
      result.push(t);
      return;
    };
    if (s > sum || i === arr.length) {
      return;
    };
    pushElement(i, t.concat([arr[i]]));
    pushElement(i + 1, t);
  }
  pushElement(0, []);
  return result;
};
console.log(getCombinations(arr, sum));

আউটপুট

কনসোলে আউটপুট হবে:

[ [ 1, 1, 1, 1 ], [ 1, 1, 2 ], [ 2, 2 ], [ 4 ] ]
  1. জাভাস্ক্রিপ্টে new.target

  2. জাভাস্ক্রিপ্টে টার্গেট যোগফল দেওয়া সন্নিহিত জোড়ার দ্বিতীয় সংখ্যা সরানো

  3. জাভাস্ক্রিপ্টে পূর্ণসংখ্যার মধ্যে nth প্যালিনড্রোম সংখ্যা বের করা

  4. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে নির্দিষ্ট সংখ্যা দিয়ে বিভাজ্য সংখ্যার গণনা