लेफ्ट हैंड बनाम राइट हैंड - टाइपिस्ट चैलेंज


32

आपका कार्य कीबोर्ड के प्रत्येक पक्ष को एक दूसरे के खिलाफ गड्ढे में डालना और दो कार्यक्रमों का निर्माण करना है, एक ही भाषा में, एक मानक कीबोर्ड के बाईं ओर केवल कुंजियों का उपयोग करता है जो आउटपुट करता है Pollinium milk; plump pumpkin; lollipop?, और एक उस दाएं पर कुंजियों का उपयोग करके आउटपुट करता है Weatherheaded sweetheart haberdasheress!

नियम

बाएं हाथ के कार्यक्रम के लिए अनुमत सटीक कुंजियाँ हैं:

123456!@#$%^QWERTYqwertyasdfghASDFGH`zxcvb~ZXCVB

और दाहिने हाथ के कार्यक्रम के लिए:

7890-=&*()_+uiop[]UIOP{}jkl;'\JKL:"|nm,./NM<>?

चार मुफ्त कुंजियाँ Esc( \x1b), Tab( \x09), Space( \x20) और Enter( \x0aऔर / या \x0d) हैं जिनका उपयोग या तो दोनों में किया जा सकता है, या दोनों समाधानों में नहीं किया जा सकता है।

आपका स्कोर दोनों कार्यक्रमों के लिए कुल बाइट काउंट होगा। जब भी मैंने इस शब्द का प्रयोग किया है program, आपकी प्रस्तुतियाँ या तो पूर्ण कार्यक्रम हो सकती हैं, या हमेशा की तरह कार्य कर सकती हैं, और दोनों अलग-अलग प्रकार के हो सकते हैं (जैसे। एक पूर्ण कार्यक्रम, और एक फ़ंक्शन)।

आपके परिणाम में वांछित पाठ शामिल होना चाहिए, व्हाट्सएप के प्रमुख और अनुगामी की कोई भी मात्रा ठीक है, जब तक कि उसके भीतर सटीक पाठ दिखाई न दे।

मानक खामियों को मना किया जाता है

प्रत्येक भाषा में सबसे कम समाधान जीतते हैं।


6
बाएं हाथ क्यों है?
tsh

1
@tsh मैं कीबोर्ड को 6/6 (या जितना संभव हो उतना करीब) विभाजित करना चाहता था, ताकि प्रत्येक "हाथ" के लिए और अधिक संख्या में प्रतीकों को रखने की कोशिश करूं।
डोम हेस्टिंग्स

8
// शायद मुझे
व्हॉट्सएप

@tsh, मुझे लगता है कि एक व्हाट्सएप उत्तर अपरिहार्य है! यकीन नहीं है कि हालांकि यह कितना प्रतिस्पर्धी होगा! शायद मुझे पता होना चाहिए कि अब बहुत देर हो चुकी है!
डोम हेस्टिंग्स

क्या यह ठीक है अगर कार्यक्रम में अन्य (गैर-व्हाट्सएप) आउटपुट भी है, जब तक कि इसमें अनुरोधित पाठ शामिल हैं?
ग्रेजगोरज ओलेदज़की

जवाबों:


12

पर्ल 5 , 261 = 88 + 173 बाइट्स

यह एक उदाहरण है जहाँ "भाषा विकल्प नहीं गिनते" एक समस्या है। कठोर पक्ष समाधान का उपयोग करता है -p, बाईं ओर नहीं करता है। तो क्या यह एक ही भाषा के रूप में गिना जाता है या नहीं? और क्या विकल्प बाएं / दाएं वर्ण सेट से आने चाहिए?

बायाँ 88

इस विकल्प को कोड के रूप में गिनना चाहिए और फिर इसे बाईं ओर से आना चाहिए या "भाषा संस्करण सेट न करने के विकल्प" के अंतर्गत आता है, तो फिर से तर्क को सक्रिय करने के लिए -M5.10.0(या -Eकमांडलाइन से) का उपयोग sayकरें।

say eYYYYZYEYWYYYYYWQYEYQWQEYQYYZYWYYYYYQYQW^q%565504004w4052bw!504!w!04!204bw56550!6!h%

इसे ऑनलाइन आज़माएं!

सही 173

-pविकल्प के साथ चलाएँ (जिसमें सही वर्ण भी हों)

}{*_=\(uuuuuuuuuuuuuiuuuuuuuuuuiuuuuuuuuuuuuuui&Uiipjipjiijij0puiipjiipp0jijipjipjipipp7|Ouiujujjuiuuu0kouuujuiju0jijujuikjujukk7&"7oulio7iouloli77ooliou7liiu7o7lu7io7o77i")

यह लगभग निश्चित रूप से सुधार किया जा सकता है, लेकिन अभी के लिए यह काफी कठिन था कुछ काम करने के लिए। के लिए उपयोग नहीं होने print, say, $_और sub{}उत्पादन मुश्किल बना देता है

इसे ऑनलाइन आज़माएं!


झंडे के बारे में बिल्कुल भी चिंतित नहीं हूं, मुझे खुशी है कि यह वैध है। जैसा कि मैं के evalमाध्यम से बुलाया के साथ छेड़छाड़ की तुलना में बहुत कम समाधान है &{(u&I.._)[9-7].O.(P|'"'&_).("U::u"&"o::o").("&"|p).(uo&il).(u&i.._)[9-8].("{|o"&"}uu").(j..u)[9]}!
डोम हेस्टिंग्स

12

व्हॉट्सएप , 1175 1143 655 645 638 632 639 578 (293 + 285) बाइट्स

यह किया जाना था ..; पी
निश्चित रूप से स्टैक को उलटा भरकर और किसी तरह के लूप में अंत में इसे प्रिंट करके पूरा किया जा सकता है , लेकिन यह केवल मेरा दूसरा व्हाट्सएप प्रोग्राम है, इसलिए मैंने अभी तक इसका पता नहीं लगाया है .. संपादित करें: गोल्फ।

+7 बाइट्स क्योंकि मैं गलत वर्तनी pumpkinके रूप में pumkin.. (देख रही के लिए धन्यवाद, @ fənɛtɪk ।)

केवल हाइलाइटिंग के रूप में अक्षर S(स्थान), T(टैब) और N(नई-लाइन) जोड़े गए।
[..._some_action]केवल स्पष्टीकरण के रूप में जोड़ा गया।

वाम-पक्षीय Pollinium milk; plump pumpkin; lollipop?:

[S S T  T   S T T   T   T   N
_Push_-47_?][S S S T    S N
_Push_2_p][S S S T  N
_Push_1_o][S T  S S T   N
_Copy_1st_p][S S T  T   S T N
_Push_-5_i][S S T   T   S N
_Push_-2_l][S N
S _Duplicate_-2_l][S S S T  N
_Push_1_o][S T  S S T   N
_Copy_1st_l][S S T  T   S S T   T   T   S N
_Push_-78_space][S S T  T   T   S S T   T   N
_Push_-51_;][S S S N
_Push_0_n][S S T    T   S T N
_Push_-5_i][S S T   T   T   N
_Push_-3_k][S S S T S N
_Push_2_p][S S T    T   N
_Push_-1_m][S S S T T   T   N
_Push_7_u][S S S T  S N
_Push_2_p][S S T    T   S S T   T   T   S N
_Push_-78_space][S S S T    S N
_Push_2_p][S S T    T   N
_Push_-1_m][S S S T T   T   N
_Push_7_u][S S T    T   S N
_Push_-2_l][S S S T S N
_Push_2_p][S S T    T   S S T   T   T   S N
_Push_-78_space][S S T  T   T   S S T   T   N
_Push_-51_;][S S T  T   T   N
_Push_-3_k][S S T   T   S N
_Push_-2_l][S S T   T   S T N
_Push_-5_i][S S T   T   N
_Push_-1_m][S S T   T   S S T   T   T   S N
_Push_-78_space][S S T  T   N
_Push_-1_m][S S S T T   T   N
_Push_7_u][S S T    T   S T N
_Push_-5_i][S S S N
_Push_0_n][S S T    T   S T N
_Push_-5_i][S S T   T   S N
_Push_-2_l][S N
S _Duplicate_-2_l][S S S T  N
_Push_1_o][S S T    T   T   T   T   S N
_Push_-30_P][N
S S N
_Create_Label_LOOP][S S S T T   S T T   T   S N
_Push_110][T    S S S _Add][T   N
S S _Print_as_char][N
S N
N
_Jump_to_Label_LOOP]

इसे ऑनलाइन आज़माएं (केवल कच्चे स्थानों, टैब और नई-लाइनों के साथ)।

दाएं तरफा Weatherheaded sweetheart haberdasheress!:

[S S T  T   S S S T S S N
_Push_-68_!][S S S T    T   T   S N
_Push_14_s][S N
S _Duplicate_14_s][S S S N
_Push_0_e][S S S T  T   S T N
_Push_13_r][S S S N
_Push_0_e][S S S T  T   N
_Push_3_h][S S S T  T   T   S N
_Push_14_s][S S T   T   S S N
_Push_-4_a][S S T   T   N
_Push_-1_d][S S S T T   S T N
_Push_13_r][S S S N
_Push_0_e][S S T    T   T   N
_Push_-3_b][S S T   T   S S N
_Push_-4_a][S S S T T   N
_Push_3_h][S S T    T   S S S T S T N
_Push_-69_space][S S S T    T   T   T   N
_Push_15_t][S S S T T   S T N
_Push_13_r][S S T   T   S S N
_Push_-4_a][S S S N
_Push_0_e][S S S T  T   N
_Push_3_h][S S S T  T   T   T   N
_Push_15_t][S S S N
_Push_0_e][S N
S _Duplicate_0_e][S S S T   S S T   S N
_Push_18_w][S S S T T   T   S N
_Push_14_s][S S T   T   S S S T S T N
_Push_-69_space][S S T  T   N
_Push_-1_d][S S S N
_Push_0_e][S S T    T   N
_Push_-1_d][S S T   T   S S N
_Push_-4_a][S S S N
_Push_0_e][S S S T  T   N
_Push_3_h][S S S T  T   S T N
_Push_13_r][S S S N
_Push_0_e][S S S T  T   N
_Push_3_h][S S S T  T   T   T   N
_Push_15_t][S S T   T   S S N
_Push_-4_a][S S S N
_Push_0_e][S S T    T   T   T   S N
_Push_-14_W][N
S S N
_Create_Label_LOOP][S S S T T   S S T   S T N
_Push_101][T    S S S _Add][T   N
S S _Print_as_char][N
S N
N
_Jump_to_Label_LOOP]

इसे ऑनलाइन आज़माएं (केवल कच्चे स्थानों, टैब और नई-लाइनों के साथ)।


स्पष्टीकरण:

यह पहले स्टैक का उल्टा निर्माण करता है। किसी संख्या को निम्नानुसार किया जाता है:

  • S शुरुआत में: स्टैक मैनीपुलेशन को सक्षम करें
  • S: स्टैक की संख्या के रूप में निम्नानुसार पुश करें
  • S/ T: साइन बिट जहां Sसकारात्मक है और Tनकारात्मक है
  • कुछ Tऔर Sइसके बाद N: स्टैक ( T=1और S=0) के लिए बाइनरी के रूप में संख्या डालें ।

फिर यह उलटे हुए स्टैक पर लूप करेगा और पात्रों के रूप में सब कुछ प्रिंट करेगा। यह इस प्रकार है:

  1. पुश 0 ( SSSN)
  2. उपरोक्त वर्णित वर्णों को इंगित करने वाली सभी संख्याओं को पुश करें
  3. एक Label_0( NSSN) बनाएँ
    1. ढेर के ऊपर डुप्लिकेट ( SNS)
    2. यदि यह मान 0 है: तो यहां जाईयें Label_1( NTSTN)
    3. Else: पॉप और स्टैक के शीर्ष को चरित्र के रूप में प्रिंट करें ( TNSS)
    4. कूदो Label_0( NSNN)
  4. बनाएं Label_1( NSSTN)

यह ऊपर दोनों कार्यक्रमों के लिए डिफ़ॉल्ट लेआउट है। इस डिफ़ॉल्ट लेआउट के लिए परिवर्तन-लॉग है जिसने बाइट-काउंट को और भी कम कर दिया है:

  1. सभी संख्याओं को एक ही राशि ( पहले कार्यक्रम में, और दूसरे में) अब कम संख्या के लिए उपयोग किए जाने वाले द्विआधारी अंकों को कम करने के लिए किया जाता है, और चरण 3.2 और 3.3 के बीच निम्न दो उप-चरण जोड़े जाते हैं:100 110102 101

    • SSSTTSTTTSNप्रोग्राम 1 में पुश 110 ( ) और प्रोग्राम 2 में 101 ( SSSTTSSTSTN)
    • पॉप करें और स्टैक के शीर्ष दो मानों को एक दूसरे के साथ जोड़ें, और परिणाम स्टैक का नया शीर्ष है ( TSSS)
  2. मैं भी उपयोग किया है SNSढेर है, जो गोल्फ के लिए प्रयोग किया जाता है के शीर्ष नकल करने से कुछ मामलों में ll, ll, eeऔर ss

  3. इसके अलावा, चरण 4 (बनाएं Label_1) को पूरी तरह से हटा दिया गया था। यह एक त्रुटि के साथ बाहर निकल जाएगा, लेकिन अभी भी सब कुछ सही ढंग से आउटपुट करेगा ( जो कि मेटा के अनुसार अनुमत है )।

  4. यह nढेर के शीर्ष से 'वें मान को कॉपी करना संभव है ( STS+ 0-अनुक्रमित के साथ n), जो कुछ मामलों में एक नया नंबर बनाने से कम है।
    पहला कार्यक्रम में मैं के लिए यह कर दिया है: दूसरे pमें pop( STSSTN(कॉपी 1) की तुलना में कम है SSSTTSSN( 'पी' के लिए संख्या बनाने)), दूसरे lमें lol( STSSTN(कॉपी 1) की तुलना में कम है SSSTSSSN( 'l' के लिए संख्या बनाने )), दूसरे pमें p p( STSSTN(कॉपी 1) की तुलना में कम है SSSTTSSN( 'पी' के लिए संख्या बनाने)), दूसरे pमें pumlp( STSSTTN(प्रति 3) की तुलना में कम है SSSTTSSN( 'पी' के लिए संख्या बनाने)), दूसरे pमें pmup( STSSTSN( नकल 2) से कम हैSSSTTSSN( 'पी' के लिए संख्या बनाने)), दूसरे mमें m m( STSSTN(कॉपी 1) की तुलना में कम है SSSTSSTN(के लिए 'एम' संख्या बनाने)), दूसरे iमें ini( STSSTN(कॉपी 1) की तुलना में कम है ) के दोनों 1 की नकल के रूप में छोटी या समान लंबाई के होते हैं, इसलिए मैं इस चाल को लागू नहीं कर सका। बाइट को बचाने के लिए दूसरा कार्यक्रम। नोट: गोल्फ-स्टेप 7 के बाद, ये सभी अब लागू नहीं होते हैं।SSSTSTN('मैं' के लिए संख्या बनाएँ))।
    दूसरे कार्यक्रम में यह किसी के लिए नहीं किया गया है। कुछ के बीच की दूरी बहुत कम है, जैसे ereया ded, लेकिन 'ई' ( SSTTN) या 'डी' के लिए संख्या बनानाSSTTSNSTSSTN

  5. दोनों कार्यक्रमों में मैंने चरण 1 को लूप से बदल दिया है SSSN (पुश 0) से SSN(पुश error_value) में बदल दिया है, और चरण 3.1 ( SNSडुप्लिकेट) और 3.2 ( NTSTNयदि 0: बाहर निकलें) को हटा दिया है । अब यह केवल एक त्रुटि के साथ बाहर निकल जाएगा जो कि SSNएक अज्ञात मूल्य है जैसे ही यह इसे एक्सेस करने की कोशिश करता है।

  6. निकाला गया SSNदोनों प्रोग्राम्स में (error_value) को पूरी तरह से । अब यह त्रुटि के साथ बंद हो जाएगा " इंफ़िक्स प्लस नहीं कर सकता " जब यह ऐड-फ़ंक्शन को स्टैक पर कुछ भी नहीं छोड़ने की कोशिश करता है।

  7. की लगातार मूल्यों बदल दिया 100और 102करने के लिए 110और 101क्रमशः। यहां जावा प्रोग्राम110 निरंतर उत्पन्न करने के लिए उपयोग किया जाता है ; और यहाँ जावा प्रोग्राम101 निरंतर उत्पन्न करने के लिए उपयोग किया जाता है । ध्यान दें कि अब ऊपर वर्णित बिंदु 4 पर वर्णित की तुलना में कम कॉपी का उपयोग किया जाता है, क्योंकि नए मान कई मामलों में प्रतियों से छोटे होते हैं, इसलिए उन्हें फिर से धक्का देना कम होता है।


एसटी सामान केवल बाइनरी के रूप में संख्या को 0 के रूप में स्थान के साथ धक्का देता है, टैब 1 के रूप में। आउटपुट टीएनएसएस है, इसलिए आपके पास प्रत्येक कार्यक्रम की शुरुआत में एक अतिरिक्त दो स्थान हैं। यह शायद बाइट्स को डुप्लिकेट करने के लिए भी सहेजता है और फिर प्रत्येक वर्ण के लिए जोड़ / घटाव और अंत में मानों पर लूप करता है।
जो किंग

1
आप कद्दू को याद करते हैं।
f --n

@ f @n Shouldtɪk वूप्स लोल .. अभी तय होना चाहिए, ध्यान देने के लिए धन्यवाद।
केविन क्रूज़सेन

4

पेंगुइन, यह कई बाइट्स

बाएं हाथ की ओर की 65721878296123796350462639500449228197646164622176218219262161264085219054330862921130017235140285847450697804123168755463678390611789188813352602373675420824698785508893489685489807676509031860196742608788337382365939621331808044899882497347443262020486908162559376082705672994569868 पुनरावृत्ति है aचरित्र है, जो निम्नलिखित Brainfuck कार्यक्रम के बराबर है:

-[--->+<]>-----.[--->+<]>-.---..---.+++++.-----.++++++++++++.--------.[->+++++<]>-.+[----->+<]>.----.+++.-.--[->+++<]>.+[-->+<]>++.[-->+++++++<]>.----.+++++++++.--------.+++.[------->++<]>.[-->+++++++<]>.+++++.--------.+++.-----.--.+++++.[-->+<]>++++.+[-->+<]>++.++[--->++<]>.+++.---..---.+++++++.-.+.[--->++++<]>-.

इसे ऑनलाइन आज़माएं!

दाएँ हाथ की ओर की 636605880289050800007960838028215177632402180834140124157618258152393860687206680356620669530585999501769442445842690365640523699585001167392310123764258380235064746704898152544431842440556280249638840374132783257375880144623575829131522611446544303839106505176776161206935275549421170646618266717893044911373119804737614528140 पुनरावृत्ति है pचरित्र है, जो निम्नलिखित Brainfuck कार्यक्रम के बराबर है:

+[--->++<]>+.++[->++++<]>+.----.--[--->+<]>-.------------.---.+++++++++++++.----------.---.----.+++.+.-.-[--->+<]>-.---[->++++<]>-.++++.[->+++<]>..[--->+<]>---.------------.---.----.--[--->+<]>---.++.[---->+<]>+++.-[--->++<]>--.-------.+.+++.+++++++++++++.--------------.---.--[--->+<]>--.-----------.---.+++++++++++++.-------------.[--->+<]>----..+[-->+++++<]>-.

इसे ऑनलाइन आज़माएं!


3

CJam , 128 + 192 = 320 बाइट्स

64G^c111c111Z^cT$111c6^111X^c1$116X^c111Y^c32c1$6$Y3#$111c4^56Z^c32c112c13$A$A$3$5$1$4$4$4$12$22$22$14$32c13$111c1$T$7$A$4$1$63c

इसे ऑनलाइन आज़माएं!

'U))'i(((('_))'u('i('i(((('p))'i('i(((('_))'_)))))'i(((('_)))))'&(((((('u(('u))'i(((('i(((('u('i('i(((('_))'p))'u('&(((((('i('_))'_)))'i(((('p))'_)))))'_))'u(('i('i(((('p))'i(((('u(('u(('&(((((

इसे ऑनलाइन आज़माएं!


3

विखंडन , 958 + 752 = 1710 बाइट्स

._।

बाएं

D
z
^@$$$$$$$$$$$$$$$$$$$@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~@!!@~~~@!@$$$$$@!@~~~~~@!@$$$$$$$$$$$$@!@~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$@!@~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@~~~~@!@$$$$$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$$$@!@~~~~~~~~@!@$$$@!@~~~~~@!@~~@!@$$$$$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~@!@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@!@$$$@!@~~~@!!@~~~@!@$$$$$$$@!@~@!@$@!@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@!V

इसे ऑनलाइन आज़माएं!

सही

                                           } \} \    } \      } \    } \   } \   } \    } \   } \       } \    } \   } \ } \       } \   } \                                           } \   } \    } \    } \   } \   } \   } \} \      } \    } \    } \                                           } \ } \ } \   } \    } \   } \   } \    } \   } \   } \   } \    } \      } \ 
O________________________________________I'/O\/O\__u'/O\____i'/O\++p'/O\___/O\_i'/O\__u'/O\___/O\_____i'/O\++p'/O\+++/O\+/O\_______/O\_i'/O\_________________________________________I'/O\_u'/O\++p'/O\____/O\___/O\_i'/O\_u'/O\/O\____i'/O\++u'/O\__u'/O\_________________________________________I'/O\_/O\+/O\+++/O\____/O\___/O\_i'/O\++p'/O\___/O\_i'/O\_u'/O\____/O\____i'/O\+++++++P'L

इसे ऑनलाइन आज़माएं!

ठीक है, यहाँ हम वास्तव में सादे भाग्य के साथ हैं ।_
विखंडन की पहली शांत विशेषता यह है कि इसमें कमांड कमांडर, AKA परमाणु बनाने के लिए 4 कमांड हैं: RLDUइसलिए मेरे पास बाएं और दाएं समूहों के लिए दो कमांड हैं।
दूसरा भाग्यशाली आकर्षण आउटपुट के लिए 2 कमांड हैं !और O, जो विभिन्न समूहों में होता है।
तीसरी बार आकर्षण। दोनों आउटपुट कॉम्ड्स ASCII के परमाणुओं के द्रव्यमान के बराबर आउटपुट करते हैं। इसलिए मुझे इसे कुछ बदलने की जरूरत है। मैं भाग्यशाली हूँ! दोनों + (+1 mass)और _ (-1 mass)एक समूह और सभी आवश्यक तीन में हैं $ (+1 energy), ~ (-1 energy), @ (swap mass and energy)दूसरे समूह में हैं।

इसके अलावा दोनों समूहों में परमाणुओं को नियंत्रित करने के लिए दर्पण हैं! लेकिन मैंने पहले कार्यक्रम में उनका उपयोग नहीं किया

इसलिए मुझे रोकने के लिए कुछ भी नहीं है, लेकिन यह कदम-दर-कदम जनता की स्थापना नहीं कर सकता है।

पहला कार्यक्रम

पहले कार्यक्रम में केवल शामिल होते हैं Dz^@$~!V

D   create atom, going down
z   set its mass to ASCII code of 'z'
^   split atom in 2, dividing their mass. One goes left, second - right

स्टार्ट सरल (बस R) हो सकता है , लेकिन डिवाइड का उपयोग करके पहले अक्षर के लिए कुछ बाइट्स बचाता है।
एटम, जो बाईं ओर घूमता है और मुठभेड़ करता है V, जो उसे नीचे जा रहा है और अनिश्चित काल तक लपेटता है, कुछ भी नहीं कर रहा है।
दूसरा परमाणु कठोर हो जाता है और @...@!आउटपुट के लिए प्रत्येक अक्षर के लिए बार-बार पैटर्न का गुच्छा होगा ।

@   swap atom's mass and energy
... increament or decrement energy until it would match desired ASCII code
@   swap again
!   print character by atoms mass

आखिरकार यह मुठभेड़ Vऔर पहले परमाणु का भाग्य साझा करेगा । कीबोर्ड के बाएं हिस्से से उन्हें नष्ट करने या रोकने का कोई तरीका नहीं है।

दूसरा कार्यक्रम

दूसरा अपने उतार-चढ़ाव के साथ आता है। मुझे सीधे द्रव्यमान को बदलने के लिए कॉमैंड मिला है, लेकिन आउटपुट कमांड Oपरमाणुओं को नष्ट कर देता है, इसलिए मुझे उन्हें किसी तरह संरक्षित करने की आवश्यकता है।
कार्यक्रम दाईं ओर से शुरू होता है Lजिसमें परमाणु बाईं ओर होता है।

दोहराया पैटर्न:

} \
/O\...X'

'परमाणुओं के द्रव्यमान में अगले घेरने वाले चार का ASCII कोड डालता है, इसलिए कुछ Xका कोड पहले संग्रहीत किया जाता है, द्रव्यमान द्वारा _और +सटीक मान में बदल दिया जाता है ।
कभी-कभी X'छोड़ दिया जाता है, अगर यह सिर्फ _और सिर्फ उपयोग करने के लिए छोटा है +

परमाणु बाईं ओर से आता है, दो बार दर्पण और }बाईं ओर से हिट करता है। इस मामले में }क्लोनर की तरह काम करता है, दो समान परमाणुओं को ऊपर और नीचे भेज रहा है। डाउन एटम दर्पण द्वारा प्रतिबिंबित होता है और बाएं जाता है। ऊपर परमाणु लपेटता है, एक ही दर्पण को मारता है लेकिन नीचे से और इसलिए सही, मुठभेड़ Oऔर मुद्रण को दर्शाता है ।
अंत में अंतिम परमाणु Oनष्ट होने के लिए अंतिम मिलता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.