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

জাভাস্ক্রিপ্টে সংখ্যা n ভাগে বাঁটা যাতে পার্থক্য ন্যূনতম


সমস্যা

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

ফাংশনটি সংখ্যা num-কে ঠিক parts সংখ্যক সংখ্যায় ভাগ করবে এবং দুটি শর্ত মেনে চলবে –

  • সংখ্যাগুলো যেন যতটা সম্ভব একে অপরের কাছাকাছি হয়
  • সংখ্যাগুলো যেন জোড় হয় (যদি সম্ভব হয়)।

সংখ্যাগুলোর ক্রম গুরুত্বপূর্ণ নয়।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const num = 20; 
const parts = 6;

আউটপুট

const output = [3, 3, 3, 3, 4, 4];

উদাহরণ

নিচে কোডটি দেওয়া হল –

const num = 20; 
const parts = 6; 
const splitNumber = (num = 1, parts = 1) => { 
  let n = Math.floor(num / parts); 
  const arr = []; 
  for (let i = 0; i < parts; i++) { 
    arr.push(n); 
  } 
  if (arr.reduce((a, b) => a + b, 0) === num) { 
    return arr; 
  } 
  for (let i = 0; i < parts; i++) { 
    arr[i]++; 
    if (arr.reduce((a, b) => a + b, 0) === num) { 
      return arr; 
    } 
  } 
}; 
console.log(splitNumber(num, parts));

আউটপুট

[4, 4, 3, 3, 3, 3]

  1. জাভাস্ক্রিপ্টে সংখ্যাকে অক্ষরে রূপান্তর করুন

  2. জাভাস্ক্রিপ্টে সংখ্যাকে ইনডিভিজুয়াল ডিজিটে ভাগ করা

  3. জাভাস্ক্রিপ্টে সংখ্যা ফ্যাক্টরাইজ করা

  4. জাভাস্ক্রিপ্টে স্ট্রিংকে সর্বোচ্চ অংশে ভাগ করা