आपका काम एक हार्डवेयर रैंडम-नंबर जनरेटर को इम्प्रूव करना है, जो भी हार्डवेयर आपके आस पास पड़ा है।
चुनौती
निम्नलिखित गुणों के साथ एक कार्यक्रम लिखें:
- यह
0
या तो प्रिंट करता है या1
(और कुछ नहीं)। - आउटपुट एक भौतिक प्रक्रिया पर निर्भर करता है और न केवल कंप्यूटर की आंतरिक स्थिति पर।
- बाद के रन के आउटपुट (एक मिनट के अलावा) के बीच कोई संबंध नहीं है।
- आउटपुट किसी भी यथार्थवादी प्रयास के साथ अनुमानित नहीं है।
- आउटपुट की संभावना
0
0.2 और 0.8 के बीच है। - यह एक मिनट से भी कम समय में एक उच्च संभावना के साथ चलता है।
आपको यह स्पष्ट करना चाहिए कि आपके कार्यक्रम में ये गुण क्यों हैं, यदि यह स्पष्ट नहीं है।
स्पष्टता और प्रतिबंध
निम्नलिखित एक लोकप्रियता प्रतियोगिता के लिए बहुत सारे प्रतिबंधों की तरह लग सकता है, लेकिन यह सुनिश्चित करने के लिए अल्टिमेटली है कि यह कार्यक्रम सवाल की भावना के भीतर बना हुआ है, कुछ हद तक काम करता है और उन समाधानों से बचने के लिए है जो कुल ओवरकिल होने के कारण लोकप्रिय हैं, लेकिन संपूर्ण रूप से बल्कि उबाऊ।
- सिस्टम का समय शारीरिक प्रक्रिया के रूप में नहीं गिना जाता है।
- आप किसी भी उपभोक्ता-ग्रेड हार्डवेयर का उपयोग कर सकते हैं जो 8-इंच फ्लॉपी-डिस्क ड्राइव से लेकर यूएसबी रॉकेट लांचर से हेडफ़ोन तक - जैसे कि जब तक कि यह यादृच्छिक-संख्या पीढ़ी के लिए न हो। हार्डवेयर का एक टुकड़ा उपभोक्ता-ग्रेड है, अगर यह बड़े पैमाने पर उत्पादित है और इसकी कीमत 1000 डॉलर / € / पाउंड से कम है, तो आप रेडियो टेलीस्कोप, सर्न, एमआरआई या अपने घर-निर्मित कण डिटेक्टर का उपयोग नहीं कर सकते।
- आप केवल राज्य की सबसे बुनियादी धारणाएं बना सकते हैं और हार्डवेयर को संरेखित कर सकते हैं जैसे कि स्विच किया जा रहा है (यदि इसमें पावर स्विच है) और ठीक से स्थापित और कार्यात्मक हो। उदाहरण के लिए, आप एक सीडी ड्राइव को डिस्क पढ़ने में सक्षम होने के लिए और जाम नहीं होने के लिए मान सकते हैं, लेकिन आप इसे खोलने या बंद करने या डिस्क को शामिल करने के लिए नहीं मान सकते हैं। एक अन्य उदाहरण में आप हार्डवेयर के दो टुकड़ों को एक विशेष बातचीत के लिए संरेखित करने के लिए संरेखित नहीं कर सकते हैं, लेकिन आप उन्हें एक ही कमरे में रहने के लिए मान सकते हैं।
- आप अपनी पसंद के किसी भी राज्य में हार्डवेयर छोड़ सकते हैं, जब तक कि आप इसे नहीं तोड़ते।
- आप एक प्राकृतिक वातावरण में हार्डवेयर को ग्रहण कर सकते हैं, लेकिन इससे ज्यादा कुछ नहीं। उदाहरण के लिए आप मान सकते हैं कि हार्डवेयर लिक्विड हीलियम के टैंक में नहीं है और न ही बेहद साउंड- और लाइटप्रूफ रूम में और न ही स्पेस में। हालाँकि, आप किसी भी ध्वनि को नहीं मान सकते हैं- और लाइट्स को मौजूद होने के लिए छोड़कर, जो केवल कट्टरपंथी प्रयासों से बचा जा सकता है।
- आपकी पसंद के गैर-गूढ़ ऑपरेटिंग सिस्टम के साथ आपका प्रोग्राम एक मानक डेस्कटॉप कंप्यूटर पर चलना चाहिए। आप किसी भी सॉफ़्टवेयर को नियोजित कर सकते हैं जो विशेष रूप से यादृच्छिक-संख्या पीढ़ी के लिए डिज़ाइन नहीं किया गया है।
- आप इंटरनेट का उपयोग नहीं कर सकते।
- आप न तो मनुष्यों को मौजूद हो सकते हैं और न ही अनुपस्थित मान सकते हैं, लेकिन आप यह मान सकते हैं कि कोई भी जानबूझकर आपके कार्यक्रम में हस्तक्षेप नहीं करता है, उदाहरण के लिए, एक प्रशंसक को मैन्युअल रूप से रोककर या एक प्रोग्राम चलाकर जो कुछ भी नहीं करता है, लेकिन माइक्रोफ़ोन को जितनी बार हो सके स्विच करना बंद कर देता है।
- आप केवल सॉफ्टवेयर सेटिंग्स के बारे में सबसे बुनियादी धारणा बना सकते हैं। उदाहरण के लिए, आप ड्राइवरों को स्थापित और सक्रिय मान सकते हैं, लेकिन आपको ध्वनि को म्यूट करने के लिए तैयार रहना चाहिए।
- आप अपनी पसंद के किसी भी राज्य में सॉफ़्टवेयर सेटिंग छोड़ सकते हैं।
बोनस
एक विशेष इनाम को विशेष रूप से संक्षिप्त समाधान से सम्मानित किया गया। यह निर्देशों की संख्या और वर्णों के समान था। विजेता थे (मेरे मानदंड के अनुसार):
मैं केवल एक जवाब दे सकता था और तेजस काले का जवाब बहुत कुछ जीता।