Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

รับฟังก์ชัน Random10() จาก Random7() ใน JavaScript


ปัญหา

const random7 = () => Math.ceil(Math.random() * 7);

สมมติว่าเรามีฟังก์ชันลูกศรอ้วนด้านบน ฟังก์ชันนี้จะให้ตัวเลขสุ่มระหว่าง 0 (ไม่รวม) ถึง 7 (รวม) ทุกครั้งที่เราโทรออก

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript แบบสุ่ม 10() ที่คล้ายกันซึ่งไม่มีอาร์กิวเมนต์และไม่ใช้ไลบรารี JavaScript หรือไลบรารีของบุคคลที่สาม และเฉพาะการใช้ฟังก์ชัน random7() นี้เท่านั้น ฟังก์ชันของเราควรส่งคืนตัวเลขสุ่มระหว่าง 0 (ไม่รวม) ถึง 10 (รวม)

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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());

คำอธิบายโค้ด

ที่นี่ เราเพิ่งสร้างผลรวมสุ่มให้เหมือนกันมากที่สุด โดยเพิ่มตัวเลขสองสามตัว (ในกรณีของเรา 50 แต่ตัวเลขอาจแตกต่างกัน) ด้วยฟังก์ชัน rand7() และใช้ผลรวมเพื่อสร้างตัวเลขในฐาน 10

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

NaN