शिफ्टिंग-ओरिएंटेड प्रोग्रामिंग


41

स्ट्रिंग में प्रत्येक वर्ण का बाइट मान प्राप्त करके , गणना करके , और परिणाम को एक वर्ण में परिवर्तित करके एक स्ट्रिंग को एक संख्या से स्थानांतरित किया जा सकता है ।nc(c + n) mod 256

एक उदाहरण के रूप "ABC123"में "BCD234", 1 परिणाम से स्थानांतरण, 10 में "KLM;<="शिफ्टिंग, और 255 द्वारा स्थानांतरण "@AB012"

काम

कई संख्या के रूप में लेने nके साथ 0 < n < 256आप की हिम्मत कैसे हुई और एक प्रोग्राम या समारोह है कि इनपुट के रूप में एक स्ट्रिंग लेता लिखने के रूप में और

  • स्रोत कोड अपरिवर्तित होने पर स्ट्रिंग को अपरिवर्तित लौटाता है, लेकिन
  • nस्रोत कोड द्वारा स्थानांतरित किए जाने पर स्ट्रिंग को स्थानांतरित कर देता है n

नियम

  • आपके सबमिशन का स्कोर समर्थित संख्या है n, जिसमें उच्च स्कोर बेहतर है। इस प्रकार अधिकतम अंक 255 है।
  • आपके सबमिशन को कम से कम एक शिफ्ट का समर्थन करना चाहिए, इसलिए न्यूनतम स्कोर 1 है।
  • एक टाई के मामले में कम कार्यक्रम जीतता है।
  • सभी स्थानांतरित कार्यक्रमों को एक ही भाषा में होना चाहिए।



क्या वांछित आउटपुट से पहले आउटपुट होना स्वीकार्य है जो ANSI एस्केप सीक्वेंस के माध्यम से क्लियर किया गया है, या इसके माध्यम से छिपा हुआ है \r?
डोम हेस्टिंग्स

4
@DomHastings चूंकि 0x0D और 0x1B वास्तविक स्ट्रिंग आउटपुट का संभावित हिस्सा हैं, मुझे ऐसा नहीं लगता।
मार्टिन एंडर

जवाबों:


24

ब्रेनफैक, स्कोर: 31 (2208 बाइट्स)

Base64- एन्कोडेड प्रोग्राम:

LFsuLF0oVycnJycqKFkkUyMjIyMjIyMjJiRVIE8fHx8fHx8fHx8fHx8iIFEMOwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDgw9CDcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcKCDkEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGBDUAL8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / W7 / Dv8O / w78CADHDrBvDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Orw6vDq8Ouw6wdw6gXw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Onw6fDp8Oqw6gZw6QTw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6PDo8Ojw6bDpBXDoA / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 / Dn8Ofw5 /w4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4PDg8ODw4bDhMO1w4DDr8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8K / wr / Cv8OCw4DDscKsw5vCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvC/ CocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqHCocKhwqLCoMORwozCu8KNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKNwo3CjcKOwozCvcKIwrfCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJwonCicKJworCiMK5woTCs8KFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXChcKFwoXC==

शिफ्ट्स के लिए 0, 4, 8, 12, 32, 36, 40, 44, 64, 68, 72, 76, 96, 100, 104, 108, 128, 132, 136, 140, 160, 164, 168, 172 , 192, 196, 200, 204, 224, 228, 232 और 236।

0 और 255 के बीच के हर मान के लिए, उन बदलावों में से एक है जो उस चरित्र को एक मान्य ब्रेनफॉक निर्देश पर भेजता है।

ओवरफ्लो पर लपेटने के साथ कार्यक्रम 8-बिट कोशिकाओं पर निर्भर करता है। यह शायद थोड़ा बहुत गोल्फ हो सकता है, क्योंकि पारी में सिर्फ एक दोहराया जाता है +या -(जो भी छोटा हो)।

इसे उत्पन्न करने के लिए इस्तेमाल किया गया पायथन कोड:

l = [0, 4, 8, 12, 32, 36, 40, 44, 64, 68, 72, 76, 96, 100, 104, 108, 128, 132, 136, 140, 160, 164, 168, 172, 192, 196, 200, 204, 224, 228, 232, 236]
shift = lambda s,n:"".join(chr((ord(i)+n)%256) for i in s)
code = ""
for i in l:
    code += shift(",[{}.,]".format(i*"+" if i<=128 else (256-i)*"-"),-i)

क्या आप कुछ वास्तविक कार्य कोड दिखा सकते हैं जो एन्कोडेड और शिफ्ट-प्रूफ थे? (यानी +[>,.<]?)
स्टेन स्ट्रम

@StanStrum यह केवल संस्करणों को स्थानांतरित कर दिया गया है ,[+.,], जहां s या s +की राशि है+-
Jo King

20

lHaskell, स्कोर 255 (27,026 बाइट्स)

प्रोग्राम काम करता है लेकिन इसे मेरे क्लिपबोर्ड में डालने से लगता है कि यह नष्ट हो गया है इसलिए यहां कोड है जो मेरे प्रोग्राम को आउटपुट करता है।

सत्यापन

तो अगर क्लिपबोर्ड पर चीजों को कॉपी करने से यह टूट जाता है तो मैं कैसे सत्यापित करूं कि यह काम करता है?

आप यहाँ इसका उपयोग कर सकते हैं । आप समायोजित कर सकते हैं Nऔर स्ट्रिंग (वर्तमान में Big ol' egg) यह देखने के लिए कि यह स्वयं काम करता है।

यह उत्तराधिकार में एकल इनपुट पर सभी एन का परीक्षण करेगा लेकिन समय के साथ समाप्त हो जाता है।

व्याख्या

यह हास्केल की टिप्पणी संकेतन को साक्षर करता है। साक्षर हास्केल में कोई भी रेखा जो शुरू नहीं होती है >वह एक टिप्पणी है। इसलिए अपना कोड काम करने के लिए हम प्रोग्राम की 255 प्रतियाँ बनाते हैं, जिसके द्वारा nहम प्रत्येक शिफ्टिंग करते हैं और फिर हम प्रत्येक व्यक्ति की कॉपी को शिफ्ट करते हैं -n



7

05AB1E , स्कोर: 3 (24 बाइट्स)

¶Ä0(ä.g){n·Å0)åH*oHÆ0*æI

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

व्याख्या

¶Ä0(ä.g){n·Å0)åH*oHÆ0*æ  # Doesn't matter
                       I # Push the original input to the stack, implicit display

एक बार स्थानांतरित कर दिया गया:

·Å1)å/h*|o¸Æ1*æI+pIÇ1+çJ

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

व्याख्या

·Å1)å/h*|o¸Æ1*æI+p       # Doesn't matter    
                  IÇ     # Push the ASCII values of the input 
                    1+   # Increment by 1
                      çJ # Push the chars of the ASCII values, join, implicit display

दो बार स्थानांतरित:

¸Æ2*æ0i+}p¹Ç2+çJ,qJÈ2,èK

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

व्याख्या

Æ2*æ0i+}p         # Doesn't matter    
         ¹Ç       # Push the ASCII values of the input 
           2+     # Increment by 2
             çJ   # Push the chars of the ASCII values, join
               ,q # Print and terminate

तीन बार स्थानांतरित:

¹Ç3+ç1j,~qºÈ3,èK-rKÉ3-éL

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

व्याख्या

¹Ç        # Push the ASCII values of the input 
  3+      # Increment by 3
    ç1j   # Push the chars of the ASCII values, join
       ,q # Print and terminate

6

जावास्क्रिप्ट, स्कोर: 1 4 ( 94 346 बाइट)

बहुत सीधे-सीधे, अलग-अलग वर्गों ने टिप्पणी की है जब घुमाया जाता है, तो मुश्किल बिट प्रयोग करने योग्य चर नाम और टिप्पणी अनुभाग ढूंढ रहा था जो जावास्क्रिप्ट सिंटैक्स को नहीं तोड़ते हैं।

Unrotated:

hc/*% *%nnS/0S eb^[fRR _SbS/0Efd[`Y Xda_5ZSd5aVWS UZSd5aVW3f"#&$'( \a[`RR!! %34hc/*$ifb_jVV$cWfW34Ijh_d]$\hec9^Wh9eZ[W$Y^Wh9eZ[7j&!'&(+,$`e_dVV%%%*89hc/)nkgdo[[)h\k#\89Nomdib)amjh>c\m>j_`###\)^c\m>j_`<o#+$&0$ -01$$$)ejdi[[***/=>/*ch*/hc//chhcchvw*/g¬©¥¢­g¦©avw­«¢§ g«¨¦|¡«|¨aaag¡«|¨z­aibdjrrb^knobbbg£¨¢§

5 से घुमाया गया:

mh4/*%$/*ssX45X%jgc`kWW%dXgX45Jki`e^%]ifd:_Xi:f[\X%Z_Xi:f[\8k' "(+ ),-   %af`eWW &&%*89mh4/)nkgdo[[)h\k#\89Nomdib)amjh>c\m>j_`###\)^c\m>j_`<o#+$&,+$ -01$$$)ejdi[[***/=>mh4.split``.map(a=>String.fromCharCode(((a.charCodeAt(0)+5)%256))).join``///4BC4/hm/4mh44hmmhhm{|/4l±®ª§²l«®f{|²°§¬¥l¤°­«¦°­¢£fffl¡¦°­¢£²fngiowwgcpstgggl¨­§¬

10 से घुमाया गया:

rm94/*)4/xx$]9:]*olhep\\*i]l$]9:Opnejc*bnki?d]n?k`a$$$]*_d]n?k`a=p$,%'-0%!.12%%%*fkej\\%++*/=>rm94.split``.map(a=>String.fromCharCode(((a.charCodeAt(0)+10)%256))).join``///4BCrm93xuqnyee3rfu-fBCXywnsl3kwtrHmfwHtij---f3hmfwHtijFy-5.0:.*7:;...3otnsee4449GH94mr49rm99mrrmmr49q¶³¯¬·££q°¤³k¤·µ¬±ªq©µ²°«¤µ²§¨kkk¤q¦«¤µ²§¨·kslnt||lhuxylllq­²¬±££

14 द्वारा घुमाया गया: अंत में यहां चीजें दिलचस्प हो गईं, जावास्क्रिप्ट टाइप सिस्टम का दुरुपयोग हुआ।

vq=83.-83||(a=>a.split``.map(a=>String.fromCharCode(((a.charCodeAt(0)+14)%256))).join``)//.3ABvq=82wtpmxdd2qet,eABWxvmrk2jvsqGlevGshi,,,e2glevGshiEx,4-/54-)69:---2nsmrdd3338FGvq=7|yur}ii7vjy1jFG\}{rwp7o{xvLqj{Lxmn111j7lqj{LxmnJ}1924>2.;>?2227sxrwii888=KL=8qv8=vq==qvvqqv8=uº·³°»§§u´¨·o¨»¹°µ®u­¹¶´¯¨¹¶«¬ooo¨uª¯¨¹¶«¬»owprxply|}pppu±¶°µ§§

199 से घुमाया गया:

/*öñìçæñì55áö÷ç,)%"-ç&)áö÷-+"' ç+(&ü!+ü(áááç!+ü(ú-áéâäêíâÞëîïâââç#("'âèèçìúû/*öñë0-)&1ë*-åúû1/&+$ë#/,*%/,!"åååë %/,!"þ1åíæèîíæâïòóæææë',&+ìììñÿ/*öð52.+6""ð/#2ê#ÿ64+0)ð(41/*#41&'êêê#ð%*#41&'6êòëí÷ëçô÷øëëëð,1+0""ñññööñ*/ñö/*öö*//**/=>ñö.split``.map(a=>String.fromCharCode(((a.charCodeAt(0)+199)%256))).join``

समाधान खोजने के लिए, मैंने एक भिन्न राशि के घूमने पर मुझे अलग-अलग स्निपेट दिखाने के लिए एक छोटा सा उपकरण बनाया , तब मुझे कुछ निश्चित पैटर्न मिले जिन्हें मैं उपयोगी बिल्डिंग ब्लॉक्स के रूप में इस्तेमाल कर सकता था।

इसका मुख्य सार यह है कि a/**/=>aअभी भी एक मान्य फ़ंक्शन परिभाषा है, जो आपको टिप्पणी अनुभाग में रिवर्स रोटेटेड फ़ंक्शन को एम्बेड करने की अनुमति देती है। वहां से, इसे कुछ बार दोहराया जा सकता है, अगर इसे सही तरीके से किया जाए।

चूंकि अधिकांश टिप्पणी अनुभागों में नेस्टेड हैं, इसलिए इसका एक और परिणाम मिल सकता है, लेकिन टकराव और नियंत्रण पात्रों के कारण प्रत्येक जोड़े गए उत्तर के साथ काम करना कठिन हो जाता है।


पूरे समाधान के charCodeAt(0)साथ charCodeAt``4 बाइट्स दाढ़ी के साथ सभी उपयोगों को बदलना , लेकिन यह खरोंच से बहुत काम करना है।


मैंने एक अलग शुरुआती सेट-अप के साथ एक ही दृष्टिकोण की कोशिश की, लेकिन इसे 4 बिंदुओं पर भी कैप किया गया था, ऐसा लगता है कि इस दृष्टिकोण से उच्च स्कोर प्राप्त नहीं होता है।
लीख

क्या आप कम से कम charCodeAt()2 बाइट्स बचाने के लिए उपयोग कर सकते हैं ?
नील

5

PHP के साथ -d output_buffering=on -d short_open_tag=on, स्कोर: 255 (25,731 बाइट्स)

<?die($argv[1]);?>
=@pc`dmfbo)*<ejf)qsfh`sfqmbdf`dbmmcbdl)#0/0#-gvodujpo)%n*|sfuvso!dis)pSe)%n\1^*.2*<~-%bshw\2^**<@?>Aqdaengcp*+=fkg*rtgiatgrncegaecnndcem*$101$.hwpevkqp*&o+}tgvwtp"ejt*qTf*&o]2_+/4+=.&ctix]3_++=A@?Brebfohdq+,>glh+suhjbuhsodfhbfdooedfn+%212%/ixqfwlrq+'p,~uhwxuq#fku+rUg+'p^3`,06,>?/'dujy^4`,,>BA
@Csfcgpier,-?hmi,tvikcvitpegicgeppfego,&323&0jyrgxmsr,(q-vixyvr$glv,sVh,(q_4a-18-??0(evkz_5a--?CBADtgdhqjfs-.@inj-uwjldwjuqfhjdhfqqgfhp-'434'1kzshynts-)r.?wjyzws%hmw-tWi-)r`5b.2:.@?1)fwl{`6b..@DCBEuheirkgt./Ajok.vxkmexkvrgikeigrrhgiq.(545(2l{tizout.*s/?xkz{xt&inx.uXj.*sa6c/3</A?2*gxm|a7c//AEDCFvifjslhu/0Bkpl/wylnfylwshjlfjhssihjr/)656)3m|uj{pvu/+t0?yl{|yu'joy/vYk/+tb7d04>0B?3+hyn}b8d00BFEDGwjgktmiv01Clqm0xzmogzmxtikmgkittjiks0*767*4n}vk|qwv0,u1?zm|}zv(kpz0wZl0,uc8e15@1C?4,izo~c9e11CGFEHxkhlunjw12Dmrn1y{nph{nyujlnhljuukjlt1+878+5o~wl}rxw1-v2?{n}~{w)lq{1x[m1-vd9f26B2D?5-j{pd:f22DHGFIylimvokx23Enso2z|oqi|ozvkmoimkvvlkmu2,989,6pxm~syx2.w3?|o~|x*mr|2y\n2.we:g37;:3E?6.k|q?e;g33EIHGJzmjnwply34Fotp3{}prj}p{wlnpjnlwwmlnv3-:9:-7q?yntzy3/x4?}p?}y+ns}3z]o3/xf;h48<<4F?7/l}r?f<h44FJIHK{nkoxqmz45Gpuq4|~qsk~q|xmoqkomxxnmow4.;:;.8r?zo?u{z40y5?~q??~z,ot~4{^p40yg<i59=>5G?80m~s?g=i55GKJIL|olpyrn{56Hqvr5}rtlr}ynprlpnyyonpx5/<;</9s?{p?v|{51z6?r??{-pu5|_q51zh=j6:>@6H?91nt?h>j66HLKJM}pmqzso|67Irws6~?sum?s~zoqsmqozzpoqy60=<=0:t?|q?w}|62{7??s???|.qv?6}`r62{i>k7;?A;?7I?:2o?u?i?k77IMLKN~qnr{tp}78Jsxt7?tvn?t{prtnrp{{qprz71>=>1;u?}r?x~}73|8??t???}/rw?7~as73|j?l8<@D8J?;3p?v?j@l88JNMLOros|uq~89Ktyu8??uwo?u?|qsuosq||rqs{82?>?2<v?~s?y~84}9??u???~0sx?8bt84}k@m9=AF9K?<4q?w?kAm99KONMP?spt}vr9:Luzv9??vxp?v?}rtvptr}}srt|93@?@3=w?t?z?95~:??v???1ty?9?cu95~lAn:>BH:L?=5r?x?lBn::LPO
...

हास्केल समाधान के समान, इस विराम को कॉपी और पेस्ट करना, इसलिए मैंने इस पर्ल स्क्रिप्ट का उपयोग करके इसे उत्पन्न किया ।

1, 16, 32 और 255 बार स्थानांतरित करने के लिए सत्यापन।

व्याख्या

का उपयोग करते हुए PHP के <?सीमांकक काफी आसान बना दिया है, लेकिन मैं किसी भी तार के रूप में हो सकते हैं से बचने के लिए किया था <?, कहीं और कोड में यह मूल रूप से मतलब है 03, 14, 25, 36, 47, 58और 69। उन के आसपास काम करना अंकगणित का उपयोग करना काफी आसान था। मूल कार्यक्रम में बाइट की संख्या को कम करना भी संभव हो सकता है।


4

क्रेन-फ्लैक , स्कोर 3 (252 बाइट्स)

%&'()%&%X'Z&xx\()'()z%xz|%&'()%&'()%&'()9;=&'()9;=%XZ\&'z|%&'(9;=(9;=%&'XZ\(|xz|9;=%&'%&(%X'Z&\('()xxz%xz|9;=&'()9;=%XZ\&'z|9;=(9;=%&'XZ\(|9;=)))))))%&Y[]'()yy{}%&y{}%&'()%&'():<>'():<>%&Y[]'(){}y{}:<>%&Y[]'()yy{}::<><>:<>%&y{}:<>'():<>%&Y[]'(){}::<><>

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

(ब्रेन-हैक में काफी काम नहीं करता है क्योंकि केवल क्रेन-फ्लैक मोड 256 तक है)

1 से स्थानांतरित कर दिया

&'()*&'&Y(['yy])*()*{&y{}&'()*&'()*&'()*:<>'()*:<>&Y[]'({}&'():<>):<>&'(Y[])}y{}:<>&'(&')&Y(['])()*yy{&y{}:<>'()*:<>&Y[]'({}:<>):<>&'(Y[])}:<>*******&'Z\^()*zz|~&'z|~&'()*&'()*;=?()*;=?&'Z\^()*|~z|~;=?&'Z\^()*zz|~;;=?=?;=?&'z|~;=?()*;=?&'Z\^()*|~;;=?=?

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

2 से स्थानांतरित कर दिया

'()*+'('Z)\(zz^*+)*+|'z|~'()*+'()*+'()*+;=?()*+;=?'Z\^()|~'()*;=?*;=?'()Z\^*~z|~;=?'()'(*'Z)\(^*)*+zz|'z|~;=?()*+;=?'Z\^()|~;=?*;=?'()Z\^*~;=?+++++++'([]_)*+{{}'({}'()*+'()*+<>@)*+<>@'([]_)*+}{}<>@'([]_)*+{{}<<>@>@<>@'({}<>@)*+<>@'([]_)*+}<<>@>@

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

3 से स्थानांतरित कर दिया

()*+,()([*]){{_+,*+,}({}()*+,()*+,()*+,<>@)*+,<>@([]_)*}()*+<>@+<>@()*[]_+{}<>@()*()+([*])_+*+,{{}({}<>@)*+,<>@([]_)*}<>@+<>@()*[]_+<>@,,,,,,,()\^`*+,||~€()|~€()*+,()*+,=?A*+,=?A()\^`*+,~€|~€=?A()\^`*+,||~€==?A?A=?A()|~€=?A*+,=?A()\^`*+,~€==?A?A

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

व्याख्या

यहाँ काम पर मुख्य कोड है

([]){{}({}n<>)<>([])}{}<>([]){{}({}<>)<>([])}<>

जहां nएक मनमाना संख्या है। यह nप्रत्येक वस्तु को जोड़ने वाली वस्तु के लिए सब कुछ ले जाता है (मॉडुलो 256 आउटपुट पर निहित है), और फिर उन सभी को वापस ले जाता है।

हालाँकि पहले कार्यक्रम के लिए (अर्थात 0 से स्थानांतरित) हमें इसमें से कोई भी करने की आवश्यकता नहीं है क्योंकि शून्य से स्थानांतरण बिल्ली कार्यक्रम है। तो हम इस कोड से शुरू करते हैं:

([]){{}({}()<>)<>([])}{}<>([]){{}({}<>)<>([])}<>

और इसे 1 से नीचे शिफ्ट करें

'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=

यह असंतुलित है इसलिए हमें इसे ठीक करना होगा। हमारी पसंद विधि द्वारा कई तरीके हो सकते हैं (कारणों के लिए जो स्पष्ट हो जाएंगे) निम्नलिखित हैं:

'Z\(zz|'z|m;=(;='Z\(|z|;='Z\(zz|'z|;=(;='Z\(|;=)))))){}{}{}{}{}

हम इसे 2 से ऊपर उठाते हैं

)\^*||~)|~o=?*=?)\^*~|~=?)\^*||~)|~=?*=?)\^*~=?++++++}}}}}

चूँकि हम जिस कार्यक्रम की इच्छा करते हैं, उसे पूरा करने के लिए हम ()जितना {}उपयोग करेंगे, उससे निपटना आसान है }। इसका मतलब है कि )बहुत स्पष्ट साधनों के साथ संतुलित किया जा सकता है। कुछ उधेड़बुन के साथ हम इसे बदल सकते हैं:

()\^*||~()|~()*=?*=?()\^*~|~=?()\^*||~()|~=?*=?()\^*~=?+++++++([]_)*+{{}({}()*+()*+<>@)*+<>@([]_)*+}{}<>@([]_)*+{{}<<>@>@<>@({}<>@)*+<>@([]_)*+}<<>@>@

शिफ्टिंग जो हमें वापस मिलती है

&'Z\(zz|&'z|&'(;=(;=&'Z\(|z|;=&'Z\(zz|&'z|;=(;=&'Z\(|;=)))))))&Y[]'()yy{}&y{}&'()&'():<>'():<>&Y[]'(){}y{}:<>&Y[]'()yy{}::<><>:<>&y{}:<>'():<>&Y[]'(){}::<><>

3 तक का कदम बहुत जटिल है मैं वास्तव में इसे किसी भी अधिक नहीं समझता हूं। मैंने एक ही तकनीक का इस्तेमाल किया और बस तब तक उसके साथ चक्कर लगाता रहा जब तक कि मुझे आखिरकार उनमें से सभी 4 को एक साथ काम करने के लिए नहीं मिला। तकनीक बहुत अधिक है बस वहाँ एक बहुत अधिक fiddling है।


3

पायथन 3, स्कोर 1, 76 बाइट्स

शिफ्ट 0: कोई बदलाव नहीं

""!="";print(input());exit()#   oqhms'&&-inhm'bgq'nqc'i(*0(enq'i(hm'hmots'((((

शिफ्ट 1:

##">##<qsjou)joqvu)**<fyju)*$
print(''.join(chr(ord(j)+1)for(j)in(input())))

शिफ्ट 2 पर काम शुरू किया, लेकिन "" $ $ हो गया और आप इसके साथ एक लाइन शुरू नहीं कर सकते।

जब आप इसे किसी फ़ाइल में सहेजते हैं, तो सुनिश्चित करें कि यह किसी नई पंक्ति के साथ समाप्त नहीं होता है। (vim -b file.py + set noeol)


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