समस्या
const random7 = () => Math.ceil(Math.random() * 7);
मान लीजिए हमारे पास उपरोक्त फैट एरो फ़ंक्शन है। यह फ़ंक्शन हर बार कॉल करने पर 0 (एक्सक्लूसिव) और 7 (इन्क्लूसिव) के बीच एक यादृच्छिक संख्या देता है।
हमें एक समान random10() JavaScript फ़ंक्शन लिखना है जो कोई आर्ग्युमेंट नहीं लेता और 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());कोड व्याख्या
यहां, हमने जितना संभव हो उतना समान यादृच्छिक योग उत्पन्न किया, rand7() फ़ंक्शन के साथ कुछ संख्याओं (हमारे मामले में 50, हालांकि संख्या भिन्न हो सकती है) को जोड़कर और योग का उपयोग बेस 10 में संख्या उत्पन्न करने के लिए किया।
आउटपुट
कंसोल में आउटपुट होगा:
NaN