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