परिदृश्य
हाल ही में आप अपने पसंदीदा पाठ संपादक के साथ कुछ अजीब व्यवहार देख रहे हैं। पहले ऐसा लगता था कि डिस्क पर लिखते समय यह आपके कोड के यादृच्छिक अक्षरों को अनदेखा कर रहा था। थोड़ी देर के बाद आपने एक पैटर्न देखा; विषम ASCII मूल्यों वाले पात्रों को अनदेखा किया जा रहा था। आगे के निरीक्षण में आपको पता चला कि आप केवल फाइलों को ठीक से लिख सकते हैं यदि हर आठवां बिट शून्य हो। अब आपको यह जानने की जरूरत है कि क्या आपकी कीमती फाइलें इस अजीब बग से प्रभावित हुई हैं।
काम
आपको एक पूर्ण प्रोग्राम लिखना होगा जो यह निर्धारित करता है कि किसी फ़ाइल में कोई विषम बाइट्स है (यह दर्शाता है कि यह बाधित है)। लेकिन आपके टेक्स्ट एडिटर के कारण आप अपने सोर्स कोड में कोई भी अजीब बाइट नहीं लिख सकते हैं। आप इनपुट के लिए पहले से मौजूद किसी भी एन्कोडिंग को मान सकते हैं, हालाँकि आपको अभी भी हर व्यक्ति की बाइट की जाँच करनी चाहिए, न कि केवल पात्रों की।
इनपुट
आपका प्रोग्राम या तो स्टड या कमांड लाइन से एक फ़ाइल के लिए या पथ की सामग्री ले जाएगा।
उत्पादन
आपका प्रोग्राम या तो एक सत्य मान को स्टडआउट करने के लिए आउटपुट देगा यदि दिए गए फ़ाइल में एक अजीब बाइट या एक झूठा होता है अगर हर आठवां बिट शून्य है।
मानदंड
यह कोड गोल्फ, सबसे छोटा प्रोग्राम है जो टास्क जीतता है। फाइल स्रोत कोड में हर आठवें बिट पर एक वैध सबमिशन होना एक शून्य होना चाहिए। मैं आपके प्रस्तुतिकरण में आपके स्रोत कोड के बायनेरिज़ की एक प्रति शामिल करने की सलाह दूंगा।
मानक खामियां लागू होती हैं।
परीक्षण के मामलों
(ASCII एन्कोडिंग में) इनपुट:
"$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
Output:
falsy
Input:
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
Output:
truthy
Input:
LOREMIPSVMDOLORSITAMETCONSECTETVRADIPISCINGELITSEDDOEIVSMODTEMPORINCIDIDVNTVTLABOREETDOLOREMAGNAALIQVA
VTENIMADMINIMVENIAMQVISNOSTRVDEXERCITATIONVLLAMCOLABORISNISIVTALIQVIPEXEACOMMODOCONSEQVAT
DVISAVTEIRVREDOLORINREPREHENDERITINVOLVPTATEVELITESSECILLVMDOLOREEVFVGIATNVLLAPARIATVR
EXCEPTEVRSINTOCCAECATCVPIDATATNONPROIDENTSVNTINCVLPAQVIOFFICIADESERVNTMOLLITANIMIDESTLABORVM
Output:
truthy
टिप्स
समझदारी से भाषा चुनें यह चुनौती हर भाषा में संभव नहीं हो सकती है
यूनिक्स कमांड
xxd -b <file name>
किसी फ़ाइल के बायनेरिज़ को कंसोल (कुछ अतिरिक्त स्वरूपण सामग्री के साथ) प्रिंट करेगाआप ASCII के अलावा अन्य यूकोडिंग का उपयोग कर सकते हैं जैसे कि UTF-8 जब तक कि अन्य सभी नियमों का पालन किया जाता है
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}
जो भी परवाह करता है, के लिए प्रतिबंधित मुद्रण योग्य ASCII वर्ण हैं। अनुमत मुद्रण योग्य ASCII वर्ण हैं" $&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~
[CR]
तो विषम बिट है। मैं उम्मीद कर रहा था कि व्हाइटस्पेस सुरक्षित था, लेकिन अफसोस [TAB]
। यदि आप पुराने स्कूल जाना चाहते हैं, तो EBCDIC आपको तीन स्वर देता है।