आपकी चुनौती इनपुट टेक्स्ट को ब्रेन-फ्लैक कोड में बदलना है जो टेक्स्ट को आउटपुट करेगा।
से लिया ट्यूटोरियल यहाँ अनुमति के साथ यहाँ
ब्रेन-फ्लैक में दो स्टैक होते हैं, जिन्हें 'लेफ्ट' और 'राइट' के रूप में जाना जाता है। सक्रिय स्टैक बाईं ओर शुरू होता है। यदि कोई खाली स्टैक पॉप अप होता है, तो यह 0. वापस आ जाएगा। कोई अन्य चर नहीं। जब प्रोग्राम शुरू होता है, तो प्रत्येक कमांड लाइन तर्क सक्रिय स्टैक पर धकेल दिया जाता है।
ब्रेन-फ्लैक कार्यक्रम में केवल मान्य वर्ण हैं ()[]{}<>
, और उन्हें हमेशा संतुलित होना चाहिए। दो प्रकार के कार्य हैं: नीलाड्स और मोनाड्स । एक निलाद एक फ़ंक्शन है जो 0 तर्क लेता है। यहाँ सभी निलाद हैं:
()
एक का मूल्यांकन करता है।[]
वर्तमान स्टैक की ऊंचाई का मूल्यांकन करता है।{}
सक्रिय स्टैक पॉप। पॉपप किए गए मान का मूल्यांकन करता है।<>
सक्रिय स्टैक को टॉगल करें। शून्य का मूल्यांकन करता है।
जब उनका मूल्यांकन किया जाता है तो ये एक साथ मिल जाते हैं। इसलिए यदि हमारे पास सक्रिय स्टैक के शीर्ष पर '3' है, तो यह स्निपेट:
()(){}
मूल्यांकन करेगा 1 + 1 + active.pop()
जो 5 का मूल्यांकन करेगा।
भिक्षु एक तर्क लेते हैं, ब्रेन-फ्लैक कोड का एक हिस्सा। यहाँ सभी मठ हैं:
(n)
सक्रिय स्टैक पर 'एन' पुश करें।[n]
नकारात्मक 'n' का मूल्यांकन{foo}
जबकि शून्य स्टैक के शीर्ष पर नहीं है, फू करें।<foo>
फूको का निष्पादन करें, लेकिन इसका मूल्यांकन 0 के रूप में करें।
ये फ़ंक्शन उनके अंदर मूल्य भी लौटाएंगे, इसलिए
(()()())
3 धक्का देंगे लेकिन
((()()()))
3 बार धक्का देगा ।
{}
सभी रन के योग के मूल्यांकन करेंगे। तो अगर हम ढेर के शीर्ष पर '3' और '4' थे:
{{}}
7 के रूप में मूल्यांकन करेगा।
जब प्रोग्राम निष्पादित किया जाता है, तो सक्रिय स्टैक पर छोड़े गए प्रत्येक मान को बीच की एक नई रेखा के साथ मुद्रित किया जाता है। दूसरे स्टैक पर मानों की अनदेखी की जाती है।
नियम
- आप मान सकते हैं कि ब्रेन-फ्लैक को आस्की के साथ चलाया जा रहा है। (
-A
) - मस्तिष्क-फ्लैक कोड को इनपुट की आवश्यकता नहीं होनी चाहिए
- सभी मानक नियम लागू होते हैं
- TIO पर 1024 बाइट्स तक किसी भी इनपुट के लिए कोड 1 मिनट के भीतर चलना चाहिए। (यदि कोई TIO आउटपुट उपलब्ध नहीं है तो दुभाषिया की आपूर्ति होगी और मैं इसे अपनी मशीन पर चलाऊंगा (मेरी मशीन TIO के करीब आने में सक्षम होनी चाहिए)।
- आपको मनमाना लंबाई इनपुट का समर्थन करना चाहिए।
- आप किसी फ़ाइल से इनपुट ले सकते हैं।
- परीक्षण मामलों के लिए अनुकूलन की अनुमति नहीं है
- नियतात्मक उत्पादन की आवश्यकता है
- कार्यक्रमों को साफ-सुथरा रखने की जरूरत नहीं है
परीक्षण के मामले (इन पर अपना कोड आज़माएं, वास्तविक स्कोरिंग पाठ 1-2 सप्ताह में जारी होने के बाद जारी किया जाएगा)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
The meaning of brain-flak is to flak your brain with pain.
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
To be, or not to be, that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them. To die-to sleep,
No more; and by a sleep to say we die
<your brain-flak code here>
The fitness pacer test is a multi stage test. Avacado Avacado Avacadad Avacadad carrot.bat carrot.jar carrot.carrot Quack Quack Quack Quack Quack Quack Quack Quack Quack downgoat doawngoat down down gaot
This challenge came from a online program that turned text into brain-fuck. However brain-fuck has limitations and it is not nearly as cool as brain-flak. I really am looking forward to cool programs :) I am glad you took the time to read this and look forward to seeing your answer.
जीतना
जीतने के लिए आपको प्रत्येक परीक्षण मामलों द्वारा दिए गए ब्रेन-फ्लैक कोड की कुल लंबाई देनी होगी, जो पोस्ट डेट के 1-2 सप्ताह बाद जारी किया जाएगा। सबसे छोटी कुल लंबाई जीतती है।
ध्यान दें!!!!!!:
यह कोड-गोल्फ नहीं है , आपके कोड की लंबाई किसी भी तरह से आपके अंतिम स्कोर को प्रभावित नहीं करेगी। स्वच्छ पठनीय कोड बनाना काबिले तारीफ है। धन्यवाद!
परीक्षण के मामलों
<your brain-flak code here>
1000 से कम में मिलता है उसे इनाम से सम्मानित किया जाता है। जिसे मैं एक और दिन के लिए पोस्ट नहीं कर सकता, जो वूप्स करता है; ध्यान नहीं दिया कि यह कितना नया था।