लक्ष्य
N
समान लंबाई ( l
) की यादृच्छिक लाइन सेगमेंट ( ) उत्पन्न करें , जांचें कि क्या वे समभुज ( t
) समानांतर रेखाओं को पार करते हैं।
सिमुलेशन
हम क्या अनुकरण कर रहे हैं? बफन की सुई । अपने सैंडबॉक्स में रेत को चिकना करें, समान रूप से फैली हुई समानांतर रेखाओं का एक सेट खींचें (बीच में दूरी को कॉल करें t
)। लंबाई की एक सीधी छड़ी लें l
और इसे N
सैंडबॉक्स में बार-बार छोड़ें । बता दें कि यह संख्या कई बार एक रेखा को पार करती है c
। तब Pi = (2 * l * n) / (t * c)
!
हम इसका अनुकरण कैसे कर रहे हैं?
- इनपुट लें
N,t,l
N, t, l
सभी सकारात्मक पूर्णांक होने के साथ- निम्न
N
बार करें:- समान रूप से यादृच्छिक पूर्णांक समन्वय उत्पन्न करें
x,y
- साथ में
1 <= x, y <= 10^6
x,y
लंबाई के एक खंड खंड का केंद्र हैl
- समान रूप से यादृच्छिक पूर्णांक उत्पन्न करें
a
- साथ में
1 <= a <= 180
- आज्ञा देना
P
बिंदु जहां रेखा खंड x- अक्ष को पार करेगा - फिर
a
कोण है(x,y), P, (inf,0)
- समान रूप से यादृच्छिक पूर्णांक समन्वय उत्पन्न करें
- किसी भी पूर्णांक के लिए
c
रेखाx = i*t
को पार करने वाले लाइन खंडों की संख्या की गणना करेंi
- वापसी
(2 * l * N) / (t * c)
विशिष्टता
- इनपुट
- लचीले, किसी भी मानक तरीके (जैसे फ़ंक्शन पैरामीटर, एसटीडीआईएन) और किसी भी मानक प्रारूप (जैसे स्ट्रिंग, बाइनरी) में इनपुट लें
- उत्पादन
- लचीले, किसी भी मानक तरीके से आउटपुट दें (जैसे रिटर्न, प्रिंट)
- श्वेत स्थान, अनुगामी और प्रमुख श्वेत स्थान स्वीकार्य है
- सटीकता, कृपया सटीकता के कम से कम 4 दशमलव स्थान प्रदान करें (अर्थात
3.1416
)
- स्कोरिंग
- सबसे छोटा कोड जीतता है!
परीक्षण के मामलों
रैंडम चांस के कारण आपका आउटपुट इनसे ऊपर नहीं जा सकता है। लेकिन औसतन, आपको दिए गए मूल्य के लिए इस सटीकता के बारे में जानना चाहिए N, t, l
।
Input (N,t,l) -> Output
----------- ------
10,10,5 -> ?.????
10,100,50 -> ?.????
1000,1000,600 -> 3.????
10000,1000,700 -> 3.1???
100000,1000,700 -> 3.14??
टी एल; डॉ
ये चुनौतियां एल्गोरिदम का अनुकरण हैं जो केवल प्रकृति और आपके मस्तिष्क (और शायद कुछ पुन: उपयोग करने योग्य संसाधनों) को लगभग अनुमानित पीआई की आवश्यकता होती है। यदि आपको ज़ोंबी सर्वनाश के दौरान पाई की आवश्यकता है, तो ये तरीके बारूद बर्बाद नहीं करते हैं ! कर रहे हैं नौ चुनौतियों कुल।
a
एक और विधि द्वारा भी बनाई जा सकती है, अगर यह एक समान हो? (एक 2D गॉस बबल की सोच)
t > l
? नीचे दिए गए दो समाधान इस धारणा को बनाते हैं, जो चौराहे के लिए चेक को काफी सरल करता है।