मोड गोल्फ की प्रोग्रामिंग पहेली


43

आपका कार्य टेक्स्ट को प्रिंट करना है Good morning, Green orb!, हर चरित्र के साथ आपके स्रोत (मोड) में सबसे अधिक बार बाइट के रूप में दोहराया जाता है। एक अनुगामी न्यूलाइन की अनुमति है और दोहराया नहीं जाना चाहिए।

उदाहरण के लिए यदि आपका स्रोत था

print p

चूंकि pदो बार दिखाई देता है और हर दूसरे बाइट को एक बार दिखाई देता है, जिसे आपको प्रिंट करना होगा

GGoooodd  mmoorrnniinngg,,  GGrreeeenn  oorrbb!!

उत्तर उनके बाइट काउंट के उत्पाद से प्राप्त किए जाएंगे और आउटपुट दोहराए जाने की संख्या। उदाहरण के लिए उपरोक्त कोड (यदि यह काम करता है) स्कोर 7 * 2 = 14 होगा । लक्ष्य एक अंक कम से कम होना चाहिए।

आपके कोड में कम से कम 1 बाइट होना चाहिए।

अपने कोड और आउटपुट मैच को सत्यापित करने के लिए इस कार्यक्रम का उपयोग करें


कार्य की अनुमति है, है ना?
totallyhuman

1
@totallyhuman हाँ, जब तक वे इनपुट नहीं लेते।
गेहूं जादूगर

1
इस टैग किया जा नहीं करना चाहिए Quine ?
फंतासी

सुबह का पूंजीकरण नहीं किया जा सकता, क्या यह हाहा कर सकता है?
मैजिक ऑक्टोपस Urn

@magicoctopusurn पाठ को समान होना चाहिए।
गेहूं जादूगर

जवाबों:


18

ब्रेन-फ्लैक , 384 * 106 366 * 100 = 36,600

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

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

व्याख्या

पहली चीज जो मैं करता हूं वह है स्ट्रिंग को पुश करना

!bro neerG ,gninrom dooG

स्टैक सुंदर मानक मस्तिष्क-परत Kolmogorov- जटिलता रणनीति का उपयोग कर।

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

फिर हम प्रत्येक वर्ण की नकल करने के लिए कितनी बार हमें यह बताने के लिए एक काउंटर को ऑफ स्टैक पर धकेलते हैं। हालाँकि, मैं यह निर्धारित करने में सक्षम नहीं था कि यह काउंटर तब तक था जब तक मुझे प्रोग्राम लिखना नहीं आता।

अगली बार हम एक साथ स्ट्रिंग को उल्टा करते हैं और प्रत्येक वर्ण को सही समय की संख्या में डुप्लिकेट करते हैं। विशेष रूप से काउंटर + 1।

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

कार्यक्रम के इन दो हिस्सों में 99 खुले कोष्ठकों की एक विधा है। हालाँकि जब से हम निश्चित रूप से कम से कम 1 कोष्ठक की जरूरत के लिए जा रहे हैं। यहां मैंने देखा कि अंतिम वर्ण जिसे हमने !सुविधाजनक रूप से धकेल दिया था, उसका चरित्र कोड 33 है जिसका अर्थ है कि हम इसका उपयोग 99 बनाने के लिए कर सकते हैं, सटीक संख्या जिसे हम केवल एक अतिरिक्त कोष्ठक का उपयोग करना चाहते हैं। यह काफी संयोग है लेकिन यह काम करता है।


9
आह हाँ, बस सुंदर मानक मस्तिष्क-परत कोलमोगोरोव-जटिलता रणनीति। वो चीज हैं।
जॉन कीट्स

तुम, मेरे अच्छे साथी, यह भी कोशिश करने के लिए पागल होना चाहिए। मैं सिर्फ +1 करने जा रहा हूं और इससे पहले कि मेरा मस्तिष्क फट जाए, मैं सभी कोष्ठक समझने की कोशिश करूं।
केयर्ड सिक्काहिंगाहिंग 14

15

हास्केल , 37 बाइट्स × 3 = 111

-20 H.PWiz के लिए धन्यवाद। -25 निम्मी को धन्यवाद।

"Good m\111rning, Green orb!"<*[2..4]

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

हास्केल के संचालक एफटीडब्ल्यू।

मोबाइल पर कभी गोल्फ नहीं करने के लिए स्व-अनुस्मारक। मैं गूंगी गलतियां करता रहता हूं। मैं मोबाइल पर कम से कम आधा दोष लगा सकता हूं। : पी


5
<*बाइट्स को बचाने के लिए उपयोग करना (ध्यान दें कि मैंने इसकी वैधता की जांच नहीं की है)
H.PWiz

... खूनी नरक, हास्केल लगभग कई ऑपरेटर हैं। धन्यवाद!
अशुभ

15

ब्रेनफक , 235 x 77 = 18,095 अंक

संपादित करें: -2 बाइट्स @ डेनिस के लिए धन्यवाद

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

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

TIO परीक्षण

रुको, यह कोड गेंदबाजी नहीं है ?? \ रों

केवल 8 प्रयोग करने योग्य पात्रों के साथ, ब्रेनफक इस प्रश्न को करने के लिए सबसे खराब भाषाओं में से एक है। मुझे कम से कम शुरुआत करनी थी कि कौन सा चरित्र अनिवार्य रूप से सबसे अधिक +या तो प्रकट होगा -। कोड की पहली पुनरावृति लिखने के बाद, मैंने इसे बुरी तरह असंतुलित पाया +। मैंने अधिक उपयोग करने के लिए बड़ी संख्या की पीढ़ी जैसे कोड के कुछ हिस्सों को फिर से व्यवस्थित किया -। अंत में, मैं पर समाप्त हुआ एक बराबर 77 पर दो पात्रों की राशि एक कम -से +। यह निश्चित रूप से इसे और कम करना संभव है, जिसे मैं कल करूंगा।

लेकिन हे, कम से कम मैंने ब्रेनफ्लक जवाब को हराया


हे, बधाई! मुझे विश्वास नहीं हो रहा है कि यह बीएफ में ऐसा करना संभव है ... सुंदर अगर यह ;#भाषा में किया जा सकता है (͜ʖ °) C °)
RedClover

13

जेली , 13 बाइट्स * 1 = 13

“¢Ȧ@XĊ'WÑṭḂ#»

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


3
अंत में कोई व्यक्ति मायावी * 1 उत्तर देता है। मुझे लग रहा था कि जेली इसे करने वाली भाषा होगी ...
ETHproductions

@ETHproductions Haha, सिर्फ * 1 रखते हुए मेरे कोड को आधा कर दिया
श्री एक्सकोडर

हाहा
डेंजर

जिज्ञासा से बाहर, वास्तव में क्या अंतर है? नया संपीड़ित स्ट्रिंग आधा पुराने की लंबाई कैसे है?
20

@ETHproductions मैंने मूल रूप से पहली बार एक गैर-इष्टतम संपीड़ित स्ट्रिंग का उपयोग किया था, फिर मैंने अनुकूलित जेली कंप्रेसर का उपयोग किया जो कि शब्दकोश में मेल खाता था।
श्री एक्सकोडर २ '’१

10

एलिस , 49 बाइट्स * 2 = 98 144

/:G!4o3r8"1=5',0Grey9Z<@
\"b0=dnm 2'i%g<7R6~e.;o/

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

व्याख्या

/...@
\.../

यह रैखिक कार्यक्रमों के लिए सामान्य रूपरेखा है जो पूरी तरह से ऑर्डिनल मोड में काम करते हैं। ज़िगज़ैग नियंत्रण प्रवाह को बंद करने पर, हमें यह मिलता है:

"G04d3m821i5g,7G6ee9;<:b!=onr "'=%'<0Rr~y.Zo@

मूल विचार उन पात्रों से बचना है जो लिप्यंतरण की मदद से दो बार से अधिक दोहराते हैं। हम जिस लिप्यंतरण को करने जा रहे हैं वह निम्नलिखित है:

input: "G04d3m821i5g,7G6ee9;<:b!"
from:  "0123456789:;<"
to:    "onr "

जिस तरह से ऐलिस में लिप्यंतरण का काम होता है, fromऔर toस्ट्रिंग्स को पहले उनकी लंबाई के LCM में दोहराया जाता है, हालांकि इस मामले में, सभी मामले fromस्ट्रिंग की लंबाई है , इसलिए हम प्राप्त करते हैं:

from:  "0123456789:;<"
to:    "onr onr onr o"

इस तरह, हमें चार प्रतिनिधित्व करने के लिए चार अक्षर मिलते हैं o, और तीन प्रत्येक के लिए n, rऔर स्थान। हम fromनिम्नानुसार रेंज विस्तार का उपयोग करके स्ट्रिंग उत्पन्न कर सकते हैं :

'<   Push "<".
0    Append a zero.
R    Reverse.
r    Range expansion.

एकमात्र मुद्दा अब यह है कि हमें और स्ट्रिंग "दोनों के लिए चार की आवश्यकता होगी । उस से बचने के लिए, हम उन दोनों को एक ही तार में डालते हैं और इसे एक विभाजक के रूप में इस्तेमाल करते हैं।inputto=

"G04d3m821i5g,7G6ee9;<:b!=onr "
     Push the string containing both parts.
'=%  Split around "=".

बाकी बस:

~   Swap "from" and "to".
y   Transliterate.
.Z  Duplicate and interleave. This duplicates each character.
o   Print.
@   Terminate the program.


6

C (gcc) , 74 × 6 = 444 पार कर गया 444 अभी भी नियमित रूप से 444 77 × 5 = 385 81 × 4 = 324 है

f(q){char*a="Go\157d morning, G\162een o\162b!";for(q=0;q<96;)putchar(a[q++/4]);}

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


16
o0 वाट आपने अपने पोस्ट हेडर के लिए किया
अशुभ

9
बहुत मज़ा आया
betseg

पार किए गए 44 मेटा पोस्ट कहां गए?
नीदेज़जकोब

5

सी (जीसीसी) , 68 × 3 = 204

0000000: 6a 3b 6d 61 69 6e 28 29 7b 77 68 69 6c 65 28 6a  j;main(){while(j
0000010: 3c 37 32 29 70 75 74 63 68 61 72 28 7e 22 b8 90  <72)putchar(~"..
0000020: 90 9b df 92 90 8d 91 96 91 98 d3 df b8 8d 9a 9a  ................
0000030: 91 df 5c 32 32 30 8d 9d de 22 5b 6a 2b 2b 2f 33  ..\220..."[j++/3
0000040: 5d 29 3b 7d                                      ]);}

9 अंक बचाने और 6 और के लिए मार्ग प्रशस्त करने के लिए @MDXF को धन्यवाद!

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

वैकल्पिक संस्करण, मुद्रण योग्य ASCII, 69 × 3 = 207

j;main(k){while(j<72)putchar("Gnmg$hiuf`dl -I}ut|3{gt6"[k=j++/3]^k);}

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



5

एपीएल (डायलॉग यूनिकोड) , 46 बाइट्स × 2 = 92

(अनपेक्षित शामिल हैं)

2/⎕UCS18+⍳24)+⎕UCS'X~r-yz|wqum1$Jtfemln]'

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

+ अलॉट बाइट्स के लिए धन्यवाद Dyalog के कोड पेज पर, @ Adám को इस बात के लिए धन्यवाद।



यह वास्तव में प्रतिभाशाली है, @ Adám
Zacharý

मुझे डर है कि आप के लिए समझौता करने के लिए है हूँ 92 के बाद से ~⎕AV∊⍨⎕UCS 18
एडम डे

5

विम, 42 41 कीस्ट्रोक्स × 3 = 123

iGod morning, Green orb!<Esc>2|qsyl2pl@sqX0@s

स्पष्टीकरण:

  1. iGod morning, Green orb!<Esc>
    स्ट्रिंग लिखें God morning, Green orb!(एक oलापता)।
  2. 2|
    पहले कूदो o
  3. qsyl2pl@sq
    एक पुनरावर्ती मैक्रो बनाएँ s। एक साइड इफेक्ट के रूप में, वर्तमान को तीन गुना करें o
  4. X0
    एक निकालें oऔर शुरुआत में कूदें।
  5. @s
    मैक्रो चलाएँ s, जो प्रत्येक वर्ण को दो बार दोहराते हैं।

4

सी, 78 × 4 = 312

*s=L" ÞÞÈ@ÚÞäÜÒÜÎX@äÊÊÜ@ÞäÄB";main(y){while(*++s)for(;y++%5;putchar(*s/2));}

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

356 332


टिप्पणी करते क्योंकि मैं अपने ब्राउज़र इतिहास में यह हर बार जब मैं गोल्फ के लिए चाहते हैं पाने की थक गया हूँ: मैं का इस्तेमाल किया इस चरित्र repetitions की संख्या को खोजने के लिए।
एमडी एक्सएफ

और यह स्ट्रिंग को एनकोड करने के लिए है।
एमडी एक्सएफ

3

जाप , 24 बाइट्स * 2 = 48

`Good ¶rÍÁ,
GÎ9 b!`m²·¸

एक अनपेक्षित होता है। इसे ऑनलाइन टेस्ट करें!

कार्यक्रम का अधिकांश हिस्सा सिर्फ एक संकुचित स्ट्रिंग है, जो करने के लिए कम हो जाता है

Good morning,
Green orb!

और फिर mप्रत्येक पात्र को ठीक से दोहराकर ²एप्स बनाता है , वह थोड़ा खिंचाव था । अंतरिक्ष एकमात्र चरित्र है जो संकुचित स्ट्रिंग में 3 बार दिखाई देता है; एक उदाहरण को बचाने के लिए हम इसे एक नई पंक्ति के साथ प्रतिस्थापित करते हैं, फिर नई ·¸रेखाओं पर विभाजित करने और तुरंत रिक्त स्थान पर जुड़ने के लिए उपयोग करते हैं। जबकि 2 बाइट्स लंबे समय तक, यह स्कोर (66 से 48 तक) को काफी हद तक कम कर देता है।

अब यदि केवल दो बार बिना किसी चरित्र का उपयोग करने का एक छोटा तरीका था ...


क्योंकि मैं यह नहीं देख सकता: कौन सा चरित्र तीन बार स्रोत में है? मैं कई चीजों को देखता हूं जिनमें 2 की गिनती होती है, लेकिन 3. नहीं।
Draco18s

1
@ Draco18s कोई नहीं, स्कोर 24 * 2 है।
ETHproductions

फिर आउटपुट गलत है। आप प्रत्येक वर्ण को दो बार के बजाय 3 बार मुद्रित कर रहे हैं।
ड्रेको

@ Draco18s डंगिट, गलत लिंक पोस्ट किया ... इस ओर इशारा करने के लिए धन्यवाद।
ETHproductions

*salute*और अब जब मैं आपके उत्तर को देखता हूं तो मुझे लगता है कि यह link है, जबकि लिंक में
Dra

3

SNOBOL4 (CSNOBOL4) , 97 बाइट्स * 10 = 970

	S ='Good Morning, Green orb!'
y	S	LEN(1) . y rem . s	:f(p)
	x	=x DUPL(y,10)	:(y)
p	OUTPUT	=x
END

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

हाँ ........ SNOBOL को ऑपरेटरों को व्हॉट्सएप द्वारा अलग करने की आवश्यकता होती है, और व्हॉट्सएप की आवश्यकताएं हैं जो काफी अजीब हैं। कोड में 9 '\t'और 10 हैं ' ', इसलिए किसी भी सुधार के लिए दृष्टिकोण में काफी महत्वपूर्ण बदलाव की आवश्यकता होगी।




3

पर्ल 5 , 59 × 2 = 118 अंक

$_="GSSdYmoVRing,YGVIen orb!";y<H-Z>[d-t ],s<.>[$&x2]eg;say

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

पर्ल ५ , 51 × 3 = 153156 अंक

s""GOOd morning, Green orb!";y'O'o';s/./$&x3/eg;say

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

पर्ल 5 , 43 × 4 = 172 अंक

say"Good morning, Green orb!"=~s/./$&x4/egr

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

प्रत्येक समाधान में 2 बाइट्स @Xcali (कुछ परिवर्तन पहले) के लिए धन्यवाद। सभी अनुकूलन के लिए संपादन देखें।


एक फ़ंक्शन के बजाय इसे प्रोग्राम बनाने से 2 बाइट्स (4 अंक) बचेंगे: इसे ऑनलाइन आज़माएं!
Xcali

@Xcali, लेकिन आपके परिवर्तन को एक गैर-मानक विकल्प की आवश्यकता है -M5.010, जो कि मायने रखता है
mik




2

पायथन 2 , 62 * 4 = 248

@Ovs और @Giuseppe को धन्यवाद!

lambda:"".join(c*4for(c)in"G\x6f\x6fd mor\x6eing, Green orb!")

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

पायथन 2 , 51 * 6 = 306

print"".join(c*6for c in"Good morning, Green orb!")

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

अजगर 2 , 70 * 5 = 350

lambda:"".join(c*5for(c)in"Gxxd mxrning, Green xrb!".replace('x','o'))

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

@Mr को धन्यवाद। दोनों संस्करणों से एक बाइट को बचाने के लिए Xcoder!


आप के बीच की जगह को हटा सकते हैं 6और for
श्री एक्सकोडर २ '’१

@ Mr.Xcoder धन्यवाद!
स्टेडियबॉक्स


@ यह बहुत सही नहीं है, मुझे लगता है कि आपको दो \x6fएस की जरूरत है जो अभी भी 244 के लिए अच्छा है
Giuseppe



2

CJam , 32 बाइट्स × 2 = 64

"Gnmg$hiuf`dl -I}ut|3orb!"K,.^:_

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

एक स्ट्रिंग को धकेलता है, फिर XORs को पहले 20 वर्ण के साथ [0, 1, …, 19], फिर प्रत्येक वर्ण को डुप्लिकेट करता है।


2

05AB1E , स्कोर: 22 (22 बाइट्स * 1)

…‚¿•´,„ˆ¨èã).ªðý23£'!«

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

स्पष्टीकरण:

नोट 1: लिस्ट बिलिन में रैप स्टैक) बिलियन पेयर के बजाय उपयोग किया जाता है , क्योंकि यह पहले से ही डिक्शनरी शब्द का हिस्सा है good
नोट 2: कोड में दो अल्पविराम और ,एक जैसे दिख सकते हैं, लेकिन अलग-अलग यूनिकोड वर्ण हैं । पहला आम तौर पर बिल्टिन पेयर के लिए उपयोग किया जाता है , और दूसरा बिल्टिन प्रिंट के लिए STDOUT में अनुगामी न्यूलाइन के साथ होता है । इस मामले में वे शब्दकोश शब्द के लिए उपयोग किए जाते हैं good, और आउटपुट में अपेक्षित अल्पविराम।

…‚¿•´,        # 3-word dictionary string "good morning," (the comma counts as the third word)
„ˆ¨èã         # 2-word dictionary string "green orbit"
)             # Wrap everything on the stack into a list: ["good morning,","green orbit"]
            # Sentence capitalize all strings: ["Good morning,","Green orbit"]
   ðý         # Join by spaces: "Good morning, Green orbit"
     23£      # Only leave the first 23 characters: "Good morning, Green orb"
        '!«  '# Append a "!": "Good morning, Green orb!" (and output the result implicitly)

मेरा यह 05AB1E टिप देखें (अनुभाग कैसे शब्दकोश उपयोग कैसे करें? ) को समझने के लिए क्यों …‚¿•´,है "good morning,"और „ˆ¨èãहै "green orbit"


2

पावरशेल , 46 बाइट्स * 4 = 184 अंक

"Good morning, Green orb!"-replace'.',('$0'*4)

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


1
यह चालाकी है। मैं पूरी तरह से भूल गया$0
Veskah

: | रुको मैंने यह कोशिश की, लेकिन प्रारूप करने के बाद ही यह काम नहीं किया और साथ ही साथ यह भी किया
ASCII-only

¯ \ _ (ツ) _ / link TIO लिंक के बारे में क्या?
mazzy

2

पॉवरशेल , 49 * 5 58 बाइट्स * 4 = 232 पीटी

-13 pts ASCII- केवल के लिए धन्यवाद

-join("Good m{0}rning, Green {0}rb!"-f'o'|% t*y|%{"$_"*4})

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

oकुछ संख्याओं का पता लगाने के लिए 5 एस से 4 तक जाने के लिए प्रारूपण का उपयोग करता है




1

जेली , 31 बाइट्स × 2 = 62 अंक

“2ðƈZ(Øṡdȷ¿Ɱ’ṃ“God mrnig,eb!”x2

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

व्याख्या

“2ðƈZ(Øṡdȷ¿Ɱ’ṃ“God mrnig,eb!”x2
“2ðƈZ(Øṡdȷ¿Ɱ’                     Base 250 number
              “God mrnig,eb!”     Unique characters of "Good morning..."
             ṃ                    Convert the base 250 number in base 13 then index into the string "God mr..."
                             x2   Repeat each character twice because “ occurs twice in the source (and now 2)

1

जावास्क्रिप्ट (ईएस 6), 61 बाइट्स * 3 = 183

_=>'Good morning, Gr\145en \x6f\x72b!'.replace(/./g,"$&$&$&")

जावास्क्रिप्ट (ईएस 6), 51 बाइट्स * 4 = 204

_=>'Good morning, Green orb!'.replace(/./g,'$&$&$&$&')

@ETHproductions द्वारा सुझाए गए उत्तर ।

जावास्क्रिप्ट (ईएस 6), 73 बाइट्स * 4 = 292

_=>`G00d mo1ning, G244n orb!`.replace(/./g,_=>(('o'+!0)[_]||_).repeat(4))

जावास्क्रिप्ट (ईएस 6), 58 बाइट्स * 6 = 348

_=>'Good morning, Green orb!'.replace(/./g,_=>_.repeat(6))


वैकल्पिक रूप से, परिवर्तन _=>_करने के लिए'$&'
ETHproductions

1
वैकल्पिक रूप से, मुझे लगता है कि आप बस '$&$&$&$&$&$&'प्रतिस्थापन के लिए कर सकते हैं , जो तब मुझे लगता है कि आप दो उदाहरणों को हटा सकते हैं और कई पात्रों को 4 पर बांधने के लिए नीचे जाते हैं, काफी हद तक स्कोर कम करते हैं ...
ETHproductions

@ETHproductions धन्यवाद, उस प्रतिस्थापन पैटर्न के बारे में नहीं पता था!
darrylyeo 20


1

रूबी, 55x4 = 220 अंक

"Good morning, Green orb!".split(//).each{|x|print x*4}

इम काफी नाराज है कि प्रत्येक_चर्च का उपयोग आर के 5 की गिनती करता है।


1

पुष्य , ३६ * २ = 2२

`GXVWOP^4W_[afdc\hiB`N$29+L-''.

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

इस उत्तर का मुख्य सिद्धांत यह है कि प्रत्येक चरित्र nको n + index - 29मूल स्ट्रिंग में पुनरावृत्ति से बचने के लिए संग्रहीत किया जाता है। इस मैपिंग ने स्ट्रिंग को बैकटिक्स में बनाया। कार्यक्रम के बाकी हिस्सों में बस यह डिकोड होता है और प्रत्येक वर्ण को दो बार प्रिंट करता है:

` ... `              \ Push the encoded string
       N             \ Remove printing delimiter
        $            \ While there are items left on stack:
         29+         \   Add 29 to top of stack
            L-       \   Subtract current length from top of stack
              ''.    \   Print twice, then pop

दो बार इस्तेमाल किया बाइट्स: `'W

बदलाव का

  • डिकोडिंग विधि बदलकर 41 से 38 तक गोल्फ की लंबाई।
  • मल्टीबाइट पात्रों को रोकने के लिए प्रत्येक एन्कोडेड वर्ण से 29 घटाकर 38 से 37 तक गोल्फ की लंबाई।
  • निहित 'अंत लूप' का उपयोग करके 37 से 36 तक गोल्फ की लंबाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.