एक आलसी भौतिक विज्ञानी के पास डबल स्लिट प्रयोग करने का काम है। हालांकि, वे आलसी हैं और सभी उपकरणों को स्वयं स्थापित करने के लिए परेशान नहीं किया जा सकता है और इसलिए प्रभावों का अनुकरण करने जा रहे हैं। वे प्रोग्राम नहीं कर सकते, हालांकि कुछ मदद की जरूरत है। जैसा कि वे आलसी हैं आपका कार्यक्रम यथासंभव छोटा होना चाहिए।
एक अजीब सकारात्मक पूर्णांक n
( n >= 1
और n % 2 == 1
) को देखते हुए , अनुकरण करें।
यह काम किस प्रकार करता है
आप एक खाली कैनवस के साथ शुरू करेंगे और प्रत्येक फ्रेम प्रकाश का एक कण, स्लिट्स से होकर कैनवास पर आएगा। कण एक मौका पर अधिकतम के साथ उतरेगा:
n = 1
:
+-----+
| |
| 1/2 |
| |
+-----+
n = 3
:
+-----+ +-----+ +-----+
| | | | | |
| 1/4 | | 1/2 | | 1/4 |
| | | | | |
+-----+ +-----+ +-----+
n = 5
:
+-----+ +-----+ +-----+ +-----+ +-----+
| | | | | | | | | |
| 1/8 | | 1/4 | | 1/2 | | 1/4 | | 1/8 |
| | | | | | | | | |
+-----+ +-----+ +-----+ +-----+ +-----+
आदि।
उदाहरण के लिए, n=5
हम मध्य बॉक्स की जांच करते हैं, इसमें गिरने का 50% मौका है। यदि यह फ्रेम के अंत में गिरता है, यदि अगले दो पर नहीं जाता है, तो उन में गिरने का 25% मौका है। यदि यह फ्रेम के अंत में गिरता है, यदि अगले दो पर नहीं जाता है, तो उन में गिरने का 12.5% मौका है। यदि यह गिरता नहीं है तो कोई फर्क नहीं पड़ता, यह अभी भी फ्रेम का अंत है।
अवसरों की गणना कैसे करें, इस बारे में कुछ भ्रम है, इसका कारण उन लोगों के बारे में है, जो संभावितों के रूप में सोच रहे हैं, जिन्हें 1 से जोड़ना चाहिए। उस विचार को अपने दिमाग से निकाल दें और इसे आपके लिए थोड़ा स्पष्ट कर देना चाहिए।
- अधिकतम एक कण प्रति फ्रेम पर लेट जाएगा, इसका मतलब है कि एक कण उस फ्रेम पर बिल्कुल नहीं उतर सकता है।
- एक कण को किसी भी मुद्रण योग्य चरित्र द्वारा दर्शाया जा सकता है।
- कण एक यादृच्छिक मौका के साथ बॉक्स में कहीं भी उतर जाएगा।
- बक्से की चौड़ाई
2n-1
कैनवास के आकार की होनी चाहिए । तोn=5
उनके1/9
लिए कैनवास की चौड़ाई का होना चाहिए । - बक्से की ऊंचाई कैनवास की ऊंचाई होनी चाहिए।
- कण को बक्सों के बाहर बिल्कुल नहीं उतरना चाहिए।
- यदि एक कण पहले से ही एक ऐसे स्थान पर उतरा है जिसे चुना गया है तो कोई फर्क नहीं पड़ता कि यह फिर से वहां उतर सकता है।
- उपरोक्त एससी बॉक्स स्पष्टता के लिए हैं, उन्हें खींचा नहीं जाना चाहिए।
- जब तक यह उचित है आप अपने खुद के कैनवास का आकार चुन सकते हैं। उदाहरण के लिए, यह केवल कुछ पिक्सेल ऊंचा नहीं होना चाहिए। यह उस पर सभी बक्से को फिट करने में भी सक्षम होना चाहिए।
- यदि आपका कोड तख्ते के बीच सोता है तो आपको इसे अपनी बाइट की गिनती में जोड़ने की आवश्यकता नहीं है।
प्रत्येक मैक्सिमा, एक मिनीमा के बीच अंतराल होना चाहिए। यह एक बॉक्स के समान चौड़ाई होनी चाहिए लेकिन कोई भी कण वहां नहीं जाएगा। निम्नलिखित चित्र देखें:
+---+---+---+---+---+
| | | | | |
|max|min|max|min|max|
| | | | | |
+---+---+---+---+---+
प्रोग्राम को तब तक चलना चाहिए जब तक कि इसे मैन्युअल रूप से बंद न कर दिया जाए।
नियम
- एक छद्म यादृच्छिक संख्या जनरेटर (pRNG) ठीक है।
- मानक खामियों को मना किया जाता है।
- इनपुट किसी भी उचित प्रारूप द्वारा लिया जा सकता है।
- आपको STDOUT पर आउटपुट देना चाहिए।
- यह कोड-गोल्फ है इसलिए सबसे छोटा उत्तर जीतता है।
उदाहरण
निम्नलिखित GIF एक उदाहरण के लिए चलाया जाता है n = 5
। मैंने केवल इसे जल्दी से खटखटाया ताकि संभावना थोड़ी दूर हो जाए।