কম্পিউটার

জাভাস্ক্রিপ্টে সংখ্যাটিকে 4টি র্যান্ডম সংখ্যায় বিভক্ত করুন


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

ফাংশনটি চারটি এলোমেলো সংখ্যা তৈরি করবে, যা যোগ করার সময় প্রথম ইনপুট হিসাবে কাজ করার জন্য প্রদত্ত সংখ্যার সমান হওয়া উচিত এবং এই চারটি সংখ্যার কোনটিই দ্বিতীয় ইনপুট হিসাবে প্রদত্ত সংখ্যার বেশি হওয়া উচিত নয়৷

উদাহরণ স্বরূপ − যদি ফাংশনের আর্গুমেন্ট −

হয়
const n = 10;
const max = 4;

তারপর,

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

একটি বৈধ সংমিশ্রণ৷

মনে রাখবেন সংখ্যার পুনরাবৃত্তি অনুমোদিত।

উদাহরণ

এর জন্য কোড হবে −

const total = 10;
const max = 4;
const fillWithRandom = (max, total, len = 4) => {
   let arr = new Array(len);
   let sum = 0;
   do {
      for (let i = 0; i < len; i++) {
         arr[i] = Math.random();
      }
      sum = arr.reduce((acc, val) => acc + val, 0);
      const scale = (total − len) / sum;
      arr = arr.map(val => Math.min(max, Math.round(val * scale) + 1));
      sum = arr.reduce((acc, val) => acc + val, 0);
   } while (sum − total);
   return arr;
};
console.log(fillWithRandom(max, total));

আউটপুট

এবং কনসোলে আউটপুট হবে −

[ 3, 3, 2, 2 ]

প্রতিটি রানে আউটপুট ভিন্ন হবে বলে আশা করা হচ্ছে।


  1. জাভাস্ক্রিপ্ট সংখ্যার জোড় সংখ্যা সহ সংখ্যাগুলি আনুন৷

  2. জাভাস্ক্রিপ্টে পৃথক সংখ্যায় সংখ্যা বিভক্ত

  3. জাভাস্ক্রিপ্টে split() ব্যবহার করে একটি সংখ্যার প্রতিটি সংখ্যা বর্গ করা

  4. পাইথনে এলোমেলো সংখ্যা