সমস্যা
const random7 = () => Math.ceil(Math.random() * 7);
উপরের ফ্যাট অ্যারো ফাংশনটি প্রতিবার কল করলে ০ (এক্সক্লুসিভ) থেকে ৭ (ইনক্লুসিভ) পর্যন্ত র্যান্ডম নম্বর দেয়।
আমাদের একটি সাদৃশ্য random10() ফাংশন লিখতে হবে যা কোনো আর্গুমেন্ট নেয় না, জাভাস্ক্রিপ্ট লাইব্রেরি বা থার্ড পার্টি লাইব্রেরি ব্যবহার করে না। শুধু random7() ফাংশনটি ব্যবহার করে ০ (এক্সক্লুসিভ) থেকে ১০ (ইনক্লুসিভ) পর্যন্ত র্যান্ডম নম্বর রিটার্ন করবে।
উদাহরণ
কোডটি নিচের মতো (সামান্য পদ্ধতি, তবে নোট: নিচের কোডে বাগ আছে, sum ইনিশিয়ালাইজ করা নেই):
const random7 = () => Math.ceil(Math.random() * 7); const random10 = () => { let sum; for(let i = 0; i < 50; i++){ sum += random7(); } return (sum % 10) + 1; }; console.log(random10()); কোড ব্যাখ্যা
এখানে random7() কল করে ৫০বার যোগ করে একটি যথাসম্ভব ইউনিফর্ম সাম তৈরি করা হয়েছে এবং সেটি মডুলো ১০ দিয়ে বেস-১০ এ র্যান্ডম নম্বর জেনারেট করা হয়েছে।
আউটপুট
কনসোলে আউটপুট (বাগের কারণে):
NaN