आपको एक 100-बाइट लंबा ब्रेनफक (BF) प्रोग्राम लिखना चाहिए।
एक चरित्र को हर संभव तरीके से हटा दिया जाएगा जिसके परिणामस्वरूप 100 नए (99-बाइट लंबे) कार्यक्रम होंगे। कार्यक्रम के लिए उदाहरण के लिए ++.>.5 subprograms हैं +.>., +.>., ++>., ++..और ++.>।
आपका स्कोर 100 प्रोग्राम उत्पन्न करने वाले अनूठे आउटपुट की संख्या होगी। उच्च स्कोर बेहतर है।
विवरण
- पहले वर्णों को आउटपुट करने के बाद आपके कार्यक्रम समाप्त हो जाएंगे।
- अमान्य या गैर-समाप्ति कार्यक्रम और खाली आउटपुट उत्पन्न करने वाले कार्यक्रमों को स्कोर की ओर नहीं गिना जाता है।
- BF सेल 8 बिट रैपिंग वाले होते हैं। (255 + 1 = 0, 0-1 = 255)
- आपके प्रोग्राम को कोई इनपुट नहीं दिया गया है। यदि आप
,कोड का उपयोग करते हैं तो यह वर्तमान सेल को सेट करता है0। - प्रारंभिक स्थिति के बाईं ओर कोई कोशिका नहीं हैं। जैसे
<.कि अमान्य है, लेकिन.<मान्य है क्योंकि निष्पादन समाप्त हो गया है.। टेप दूसरी दिशा में अनबाउंड है। - असंतुलित कोष्ठक (
[और]) के साथ कार्यक्रम अमान्य हैं। - आपका मूल कार्यक्रम 100 बाइट्स से छोटा हो सकता है क्योंकि स्कोर को बदले बिना इसे 100 बाइट तक विस्तारित करना आसान है।
- आपके मूल कार्यक्रम को मान्य BF कोड नहीं होना चाहिए।
आप अपने जवाब के स्कोर को निर्धारित करने के लिए इस python3 प्रोग्राम (ideone लिंक) का उपयोग कर सकते हैं । (लंबे समय तक चलने वाले कार्यक्रमों के लिए आपको maxstepचर को संशोधित करने की आवश्यकता हो सकती है ।)
उदाहरण
(सादगी के लिए यह कार्यक्रम 100 बाइट्स से छोटा है।)
Solution: ++,+[-]+><.-,-.
Score: 3
Explanation:
Subprogram => Output
+,+[-]+><.-,-. => 1
+,+[-]+><.-,-. => 1
+++[-]+><.-,-. => 1
++,[-]+><.-,-. => 1
++,+-]+><.-,-. => None
++,+[]+><.-,-. => None
++,+[-+><.-,-. => None
++,+[-]><.-,-. => 0
++,+[-]+<.-,-. => None
++,+[-]+>.-,-. => 0
++,+[-]+><-,-. => 255
++,+[-]+><.,-. => 1
++,+[-]+><.--. => 1
++,+[-]+><.-,. => 1
++,+[-]+><.-,- => 1
Unique outputs are [0, 1, 255]
Score is 3 for ++,+[-]+><.-,-. (length = 15)
टाई के मामले में विजेता कम कोड वाला होता है। (आपका कार्यक्रम विवरण अनुभाग में बताए अनुसार 100 बाइट्स से कम हो सकता है।) यदि कोड समान लंबाई के हैं तो विजेता पहले वाला पोस्टर है।
बोनस पहेली: बिना बोल्ड प्रतिबंध के आप स्कोर 100 के साथ एक कार्यक्रम पा सकते हैं?