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

সংখ্যা k দৈর্ঘ্যের অ্যারেতে ভাগ করা - JavaScript

একটি সংখ্যা sum কে k দৈর্ঘ্যের অ্যারেতে সমানভাবে ভাগ করা।

সমাধান

const splitNumber = (len, sum) => {
  if (len <= 0) return [];
  if (sum === 0) return new Array(len).fill(0);
  
  const value = sum / len;
  return new Array(len).fill(value);
};

// টেস্ট
console.log(splitNumber(30, 121));
// ৩০টি 4.033333333333333

// পূর্ণসংখ্যা ভার্সন
const splitNumberInt = (len, sum) => {
  if (len <= 0) return [];
  
  const base = Math.floor(sum / len);
  const remainder = sum % len;
  const result = new Array(len).fill(base);
  
  for (let i = 0; i < remainder; i++) {
    result[i]++;
  }
  
  return result;
};

console.log(splitNumberInt(5, 12)); // [3, 3, 2, 2, 2] (sum=12)

ব্যাখ্যা

  • Float ভার্সন: সব উপাদান সমান (sum/len)
  • Integer ভার্সন: বাকি অংশ প্রথম few উপাদানে বিতরণ
  • Array.fill(): দ্রুত অ্যারে ইনিশিয়ালাইজেশন

উৎপাদন

[ 4.033333333333333, 4.033333333333333, ... (৩০টি) ]
  1. অ্যারেকে জাভাস্ক্রিপ্ট স্ট্রিং-এ কনভার্ট করার পদ্ধতি?

  2. জাভাস্ক্রিপ্টে অ্যারের দৈর্ঘ্য কীভাবে বের করবেন?

  3. জাভাস্ক্রিপ্ট Array length প্রপার্টি

  4. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি