>>>>>>-[[->>>+<<<]------>>>-]<<<[<<<]+[+[>>>]<<<->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-[<<<].>>>-]
जो बिल्कुल प्रिंट करता है
298333629248008269731638612618517353495058861384016275770860733328251135402804732197446995616017112134460464130233444058136509123809012106419446593183683387659250431692751255099808162970657410517657862174602556590616568690423540284801267472920128909691902547970614008613488242333460665145840144517097342073878746293059960326132795671583153307437896728515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250255
इस ब्रेनफक जवाब में क्रेडिट @hvd को जाता है , इसलिए उसे सुनिश्चित करना सुनिश्चित करें!
स्पष्टीकरण:
मैं अपनी खुद की एक व्याख्या लिखने जा रहा था, लेकिन एहसास हुआ कि @hvd का स्पष्टीकरण पहले से ही बिंदु पर है, इसलिए मैं इसे यहां उद्धृत करूंगा:
>>>>>>
काम करने की जगह को छोड़ने के लिए आवश्यक है।
-
255 पैदा करता है ( 0 से - 1 = 255 जब हमारे पास रैपिंग सेल होता है )।
[[->>>+<<<]------>>>-]
यह मान 250 की 255 प्रतियों में बदल जाता है, ऐसा दिखने वाला टेप देता है:
0 0 0 0 0 0 250 0 0 250 0 0 ... 250 0 0 [0]
<<<[<<<]+
डेटा पॉइंटर को वापस ले जाता है और प्रारंभिक डेटा को पूरा करता है:
0 0 0 [1] 0 0 250 0 0 250 0 0 ...
इसके बाद लूप आता है: [+...-]
शुरू में 1 से 2 सेट करता है, जो लूप के अंत में 1 पर वापस सेट हो जाता है। लूप समाप्त हो जाता है जब लूप शरीर पहले से ही 2 से 1 सेट करता है।
अब, संख्या 2 250 250 250 ... 250 एक काउंटर का प्रतिनिधित्व करती है, बेस 250 में, प्रत्येक संख्या उस अंक की तुलना में अधिक होती है, जिसका वह प्रतिनिधित्व करता है।
[>>>]<<<
सही करने के लिए सभी तरह से चलता है। चूंकि प्रत्येक अंक एक गैर-शून्य संख्या द्वारा दर्शाया जाता है, यह तुच्छ है।
->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-
काउंटर को 1. घटाता है। अंतिम अंक से शुरू होता है: अंक घट जाता है। यदि यह सकारात्मक रहता है, तो हम कर रहे हैं। यदि यह शून्य हो जाता है, तो इसे 250 पर सेट करें, और पहले अंक के साथ जारी रखें।
[<<<].>>>
पॉइंटर को लेफ्ट-डिजिट से पहले वापस ले जाता है, और NUL बाइट प्रिंट करने के लिए यह एक अच्छा पल है। फिर बायीं ओर सबसे अधिक अंक के लिए फिर से स्थिति, यह देखने के लिए कि क्या हम कर रहे हैं।
सत्यता की पुष्टि करने के लिए प्रारंभिक बदलने के लिए, -
करने के लिए +
करने के लिए प्रिंट 250 1 , NUL बाइट्स ++
के लिए 250 2 , आदि
+[.]
क्या मैं जीत गया? : पी