সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে একটি সংখ্যা, num এবং দ্বিতীয় আর্গুমেন্ট হিসাবে আরেকটি সংখ্যা, অংশ নেয়৷
আমাদের ফাংশনটি সংখ্যা সংখ্যাকে সঠিক (অংশ) সংখ্যায় বিভক্ত করা উচিত এবং আমাদের এই দুটি শর্ত মনে রাখা উচিত -
- সংখ্যা যতটা সম্ভব বন্ধ হওয়া উচিত
- সংখ্যাও হওয়া উচিত (যদি সম্ভব হয়)।
এবং সংখ্যার ক্রম গুরুত্বপূর্ণ নয়।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
ইনপুট
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 ]