কম্পিউটার

জাভাস্ক্রিপ্টে রূপান্তর করার পরে ক্ষুদ্রতম যোগফল খুঁজে বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা ইতিবাচক পূর্ণসংখ্যার অ্যারে নেয়। আমরা এর উপাদানগুলিকে তাদের উপর যতবার প্রয়োজন ততবার নিম্নলিখিত অপারেশন চালিয়ে রূপান্তর করতে পারি -

if arr[i] > arr[j] then arr[i] = arr[i] - arr[j]

যখন আর কোন রূপান্তর সম্ভব না হয়, তখন আমাদের ফাংশনের যোগফল ফেরত দেওয়া উচিত।

উদাহরণ

নিম্নলিখিত কোড -

const arr = [6, 9, 21];
const smallestSum = (arr = []) => {
   const equalNums = arr => arr.reduce((a, b) => {
      return (a === b) ? a : NaN;
   });
   if(equalNums(arr)){
      return arr.reduce((a, b) => {
         return a + b;
      });
   }else{
      const sorted = arr.sort((a, b) => {
         return a-b;
      });
      const last = sorted[arr.length-1] - sorted[0]
      sorted.pop();
      sorted.push(last);
      return smallestSum(sorted);
   };
};
console.log(smallestSum(arr));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

9

  1. জাভাস্ক্রিপ্টে অ্যারেকে অনন্য করা

  2. জাভাস্ক্রিপ্ট ব্যবহার করে লক্ষ্য গড় পৌঁছানোর জন্য অবশিষ্ট সংখ্যার যোগফল খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে একটি লিফট দ্বারা আচ্ছাদিত মেঝেগুলির সমষ্টি খোঁজা৷

  4. জাভাস্ক্রিপ্টে বন্ধনীর স্কোর খোঁজা