* <<> , ४३ ४२ बाइट्स
<v":1200----"
S>@5dov>~r@@}r5
1&}o:&<^!?:-
यहाँ यह कोशिश करो!
मुझे लगता है कि मुझे इसे छोटा बनाने में सक्षम होना चाहिए, मेरे पास कोशिश करने के लिए कुछ विचार हैं ... मूल रूप से यह एक स्टैक बनाता है :1200----
। यह :
स्टैक को अलग करता है और फ़्लिप करता है, या :
तो ( ----
या 1200
स्टैक के अंत में जो भी हो) के आधार पर सम्मिलित करता है।
मुझे यह भी ध्यान देना चाहिए कि केवल *> <> निर्देश इस उपयोग S
(नींद) है, अन्यथा यह एक उचित> <> कार्यक्रम है।
अद्यतन: 1 बाइट :
को एक रजिस्टर से बचाने के बजाय दाईं ओर शिफ्ट करके सहेजा गया ।
व्याख्या
initialisation
<v":1200----"
यहां हम उस स्टैक का निर्माण करते हैं जिसका उपयोग हम कार्यक्रम के जीवन के लिए कर रहे हैं।
< move the IP left
":1200----" push ":1200----" to the stack
v move the IP down into "output time"
आउटपुट समय
>@5dov
1&}o:&<^!?:-
यह वह खंड है जहां समय वास्तव में आउटपुट होता है। पहले 5 को स्टैक पर धकेल दिया जाता है, इसलिए नीचे का लूप 5 बार चलना जानता है।
Initialisation:
>@5dov
> move the IP right
@ move the ":" back two spaces in the stack
5 push 5 to the stack (let's call this `i`)
do output carriage return
v move IP down into "loop"
Loop:
1&}o:&<^!?:-
< move the IP left
& place i onto the register
}o: output a character and shift the stack left
& place i back onto the stack
1 - decrement i by 1
^!?: if i == 0, exit to "recover and swap"
पुनर्प्राप्त करें और स्वैप करें
S >~r@@}r5
यहां हम :
आउटपुट के बाद की स्थिति से उबरते हैं, और हम एक उलट स्टैक के साथ समाप्त होते हैं। यह वास्तव में "आउटपुट टाइम" में अच्छी तरह से बाहर निकलता है, जिससे एक अनंत लूप पैदा होता है।
> move the IP right
~ remove trailing i from stack
r@@ reverse the stack and move ":" to the front
}r reverse the stack again, keeping ":" on the front
S 5 sleep for 500ms
45 बाइट का घोल
<v[5"12:00"1
d/S5
o/!?l
v>]?v
00.>0"--:--"5[
यहाँ यह कोशिश करो!
यह भी मूल रूप से एक> <> कार्यक्रम है।
मैंने वास्तव में सोचा था कि यह इस दृष्टिकोण के साथ कुछ बाइट्स को बचाने में सक्षम होगा। यह काफी सरलता से आउटपुट है 12:00
, फिर --:--
। मैं आउटपुट रूटीन का पुन: उपयोग करके बाइट्स को बचाता हूं o/!?l
(मैं प्रवेश और निकास दोनों के रूप में उस दर्पण का पुन: उपयोग करता हूं)। मैं राज्य को स्टोर करने के लिए कई स्टैक्स का उपयोग करता हूं (आउटपुट 12
या --
), और चुनें कि मुझे किस राज्य के साथ आउटपुट करना चाहिए v>]?v
।
स्पष्टीकरण जल्द ही आ रहा है! (1/2)