आउटपुट Arecibo संदेश


38

Arecibo संदेश 1974 का एक इंटरस्टेलर रेडियो संदेश है, जो मानवता और पृथ्वी के बारे में बुनियादी जानकारी को गोलाकार तारा समूह M13 को इस उम्मीद में भेजता है कि अलौकिक बुद्धि इसे प्राप्त कर सकती है और इसे समझ सकती है ... इस संदेश में 1,676 बाइनरी अंक, लगभग 210 बाइट्स शामिल थे ...

संख्या 1,679 को इसलिए चुना गया क्योंकि यह एक सेमीप्राइम (दो अभाज्य संख्याओं का उत्पाद) है, जिसे 23 पंक्तियों द्वारा 73 पंक्तियों के रूप में आयताकार रूप से व्यवस्थित किया जाना है। वैकल्पिक व्यवस्था, 73 स्तंभों की 23 पंक्तियाँ, वर्णों का एक अचिंत्य सेट उत्पन्न करती हैं (जैसा कि अन्य सभी X / Y प्रारूप करते हैं)।

Arecibo संदेश

यह रंग के साथ संदेश है जो इसके अलग-अलग हिस्सों को उजागर करने के लिए जोड़ा गया है। वास्तविक बाइनरी ट्रांसमिशन ने कोई रंग जानकारी नहीं ली।

स्रोत: विकिपीडिया


आपका कार्य छवि में दिखाए गए सटीक 23x73 व्यवस्था में Arecibo संदेश को आउटपुट करना है। इनमें से कोई भी आउटपुट प्रारूप स्वीकार्य है:

  • पाठ, लोगों के लिए एक पात्र का उपयोग करना और दूसरे के लिए शून्य (पंक्ति पृथक्करण के लिए सामान्य नियमों का उपयोग करना)
  • दो अलग मूल्यों का एक 2 डी सरणी
  • दो अलग-अलग रंगों के साथ एक 23x73 छवि
  • दो अलग-अलग मानों की 1679 वस्तुओं की निर्बाध धारा (यानी उपरोक्त स्वरूपों में से कोई भी, लेकिन सपाट।)
  • 1679-बिट पूर्णांक। अपने समाधान में बिट और बाइट ऑर्डर (एंडियननेस) इंगित करें।

आपकी सुविधा के लिए, यहां एक कॉपी-पेस्ट करने योग्य संस्करण (पाठ प्रारूप में एक उदाहरण आउटपुट) है:

00000010101010000000000
00101000001010000000100
10001000100010010110010
10101010101010100100100
00000000000000000000000
00000000000011000000000
00000000001101000000000
00000000001101000000000
00000000010101000000000
00000000011111000000000
00000000000000000000000
11000011100011000011000
10000000000000110010000
11010001100011000011010
11111011111011111011111
00000000000000000000000
00010000000000000000010
00000000000000000000000
00001000000000000000001
11111000000000000011111
00000000000000000000000
11000011000011100011000
10000000100000000010000
11010000110001110011010
11111011111011111011111
00000000000000000000000
00010000001100000000010
00000000001100000000000
00001000001100000000001
11111000001100000011111
00000000001100000000000
00100000000100000000100
00010000001100000001000
00001100001100000010000
00000011000100001100000
00000000001100110000000
00000011000100001100000
00001100001100000010000
00010000001000000001000
00100000001100000000100
01000000001100000000100
01000000000100000001000
00100000001000000010000
00010000000000001100000
00001100000000110000000
00100011101011000000000
00100000001000000000000
00100000111110000000000
00100001011101001011011
00000010011100100111111
10111000011100000110111
00000000010100000111011
00100000010100000111111
00100000010100000110000
00100000110110000000000
00000000000000000000000
00111000001000000000000
00111010100010101010101
00111000000000101010100
00000000000000101000000
00000000111110000000000
00000011111111100000000
00001110000000111000000
00011000000000001100000
00110100000000010110000
01100110000000110011000
01000101000001010001000
01000100100010010001000
00000100010100010000000
00000100001000010000000
00000100000000010000000
00000001001010000000000
01111001111101001111000

यदि आपकी भाषा, किसी कारण से, अरेसीबो संदेश के लिए एक अंतर्निहित है, तो आप उस बिलिन का उपयोग नहीं कर सकते हैं।

शुभ लाभ!

अद्यतन: मैंने 05AB1E उत्तर को स्वीकार कर लिया क्योंकि यह मूल संदेश से छोटा होने वाला पहला था। ऐसा न करें कि आप नए समाधान से दूर रहते हैं।

अद्यतन 2019-09-09: स्वीकृत उत्तर को नए 05AB1E उत्तर में स्थानांतरित कर दिया गया, क्योंकि यह पिछले 05AB1E उत्तर को मानता है। एक ही बिंदु पिछले अद्यतन के रूप में चला जाता है; नए समाधान अभी भी स्वागत करते हैं।


9
यदि किसी भाषा में Arecibo संदेश के लिए बनाया गया है, तो मैं निश्चितता के साथ बता सकता हूं, कि मैंने इस दुनिया में सब कुछ देखा है c:
लुइस felipe De jesus Munoz

6
Mathematica (IIRC) में Lena के लिए एक छवि निर्मित है, इसलिए यह मुझे आश्चर्यचकित नहीं करेगा अगर इसमें Aricebo संदेश भी है।
बीफस्टर

@RobertS। नहीं, क्योंकि पाठ के अलावा अन्य मान्य प्रारूप हैं।
बीफस्टर

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

4
@LuisfelipeDejesusMunoz Mathematica के पास एक चित्र में बकरियों को निर्धारित करने के लिए एक बिलिन है , इसलिए एक Arecibo संदेश बिल्डिन मुझे वास्तव में आश्चर्यचकित नहीं करेगा .. यह भाषा ब्रह्मांड के
बिल्डिंग्स

जवाबों:


2

05AB1E , 182 बाइट्स

•sv¯ö¨₁ÿ.ÛïžôΔ¨γ_Ígv…=Bм„Ð.(ܦi´…ε±G½0^/₃öRÛž¼¤"āêL!ˆ6‘Gā܇ðв₁÷Ã7€₂䬂Cć¨g¾†@÷[_-68¯a∍iG*6ÆîÆ;>éjζãÎÂ+ºžnî¼ć'(ÝÞΔ‹∞ÉݹÕ5λ₆*a|§oÄmôæ¨;—:hž¥ð¢ocË'¨%¡4Ćáß©ìća;FÁ?iˆèεƒʒ•Ž6–FD4‰`3ÊD?i-

इसे ऑनलाइन आज़माएं! ( प्रश्न के लिए अनुमति के रूप में 10 और 01 के लिए उपयोग करता है )।

इसे ऑनलाइन आज़माएं! (5 बाइट्स लंबे समय तक, 00 के लिए और 11 के लिए, पठनीयता के लिए नए अंक जोड़े)।

अधिकांश कोड एक बेस -255 पूर्णांक स्थिर एन है, बाकी 75% / 25% की हार्डकोडेड संभावनाओं का उपयोग करके एक असममित न्यूमेरिक सिस्टम डिकोडर है, (0 की वास्तविक आवृत्ति 76.35% है, जो 75% के करीब है। पेलोड में केवल 1.2 बिट्स बचाएंगे, जबकि अच्छा और गोल 75% हमें डिकोडर में कई बाइट्स बचाने देता है)।

Ž6–F                  # repeat the following 1679 times:
    D                 #  duplicate N
     4‰`              #  divmod 4: pushes N / 4, N % 4 on the stack
        3Ê            #  is N % 4 != 3 ? (boolean 1 or 0)
          D?          #  print a copy
            i-        #  if it's 1, subtract: N = N - (N / 4)
                      #  (otherwise, N = N / 4, since that's the top of the stack)

यहां एएनएस एनकोडर है जो निरंतर उत्पन्न करता है: इसे ऑनलाइन आज़माएं!

Î                          # start from N = 0
 Rv         ]              # for each bit in the reversed input:
   4*                      #  N *= 4
     yi                    #  if the bit is 1:
       3+                  #   N += 3
         ë                 #  else:
          3÷               #   N /= 3 (integer division)
             ₅B'•.ø        # compress N as base-255

पिछले 05AB1E उत्तर को सांत्वना देने में अच्छा काम!
बीफ़स्टर

13

05AB1E , 215 210 200 बाइट्स

मैजिक ऑक्टोपस Urn के लिए धन्यवाद 15 बाइट्स सहेजे गए

•cOž¤4é57ñΛ\Ö₃BαöĀíL½₅üBdoÙRθLγ¨G×Tćú$G(˜ƒ¦!€R»SDrµCnJ†d∊ζ·<8‡T@|‹ï=BζćósxG\ÙÎ$¿o₁5/ÔŸÇBûXé-”a::Ž]°∊y;ζ]MÜβ‘иL”β{üÃÇíäc€÷›ÎU=}¨иaŸdY`»¾ÚUβ:ô©¦β†₅DGŠβ3Jêθ,äá!ícqšVÖ›lÈΣ¯pε €êʃDpÙ/¬Žλ8:ãÿ3=€.Þć•3BY¾4×:

इसे ऑनलाइन आज़माएं! या अतिरिक्त स्वरूपण के साथ

बेस -255 एनकोडेड ट्रिनिटी स्ट्रिंग 0000द्वारा प्रतिस्थापित होने की घटनाओं के साथ 2


@MagicOctopusUrn: धन्यवाद! यह 210 भी बनाता है :)
Emigna

यह वास्तव में और भी बेहतर अगर आप की जगह है 0000के साथ 29 अधिक बाइट्स से। - pastebin.com/aZ6tHxjx 201 के लिए
मैजिक ऑक्टोपस Urn

@MagicOctopusUrn: हाँ, मैंने पाया कि जैसा था और बस इसे पोस्ट करने वाला था :)
Emigna

2
ठंडा! चूंकि Arecibo संदेश 210 बाइट्स (23 * 73/8 = 209.875) हैं, इसलिए आपका समाधान (वर्तमान में 200 बाइट्स) संदेश से छोटा है!
JL

मैं आगे बढ़ गया और यह स्वीकार किए गए उत्तर को बना दिया क्योंकि यह पहले संदेश से छोटा था।
बीफस्टर

11

जावा, 688 678 590 379 361 बाइट्स

एक स्ट्रिंग लौटाता है।

n->new java.math.BigInteger("in95mzupnpa2r0khpoepyql6ioqyn413avucdtfay6indx4wh9dehe3sn18klobtf4z9g9q17umqmwpegr2khb5eqinn7azl4jpfp2a8eui0xfrx5qwrou6gd65jh4ge3ls14k5lu7qrvmg6942ms29u5rb8fa6yrdhfoh5zoi9bdi7uh5ig0u0ff9kounth8sh357x7qox4m3oqviqsbrvakonbka4ahp21bgzi5v1akzzuqoncszhpabbru9q1uo2g11zr73iuyiqr5ikr69zn7cdv7e1lhd6ese9",36).toString(3).replace("2","0000")

-10 बाइट्स कच्ची धारा (पुराना उत्तर)
-88 बाइट्स वापस करके बेस 10 न्यूमेरिक्स (धन्यवाद @ क्विंगकैट!)
-211 बाइट्स (मुझे पता था कि यह गोल्फ हो सकता है!) बेस -36 एन्कोडेड बिगटेगर (धन्यवाद @JollyJoker) का उपयोग करके !)
-18 बाइट्स एक अलग एन्कोडेड पूर्णांक (धन्यवाद फिर से @ जॉली जोकर) का उपयोग करके

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

स्पष्टीकरण:

n->new java.math.BigInteger("base36 string",36) // Decode the base-36 integer.
   .toString(3)                                 // Re-encode as ternary
   .replace("2","0000")                         // Replace 2 with "0000"
                                                // Implicit return

1
टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
एडम लेअर

9

जेली , 213 बाइट्स

“H²ɓ¶Ṡḷ€ẹ]ƒf*ḳḢ&ƁṇOḥ{ḄṫwỊ+oLạʋߢH9¢¹÷ỴɗÇ⁶ƲƙæḊẋ3³=1!VƇƁ'D⁺3Ỵɱ©⁵%fȯez#ƈjƒżṆo.ZF⁶ċṢ⁶ọṛb9Ȯƒd?ƁUĠt4ẇ,ḞġƒµƭfʠƁP§÷øȤŻPɲẋ(¢ß¢(⁽3¶ṙėɗy@ṁYȮL~e⁷ƤĊ§nỊṅµṠ°@7ẠB>Ġ⁻İ}uy¡½:esOpḢt}qS©HÞṬĖṛṇḣ9÷;ESḢ,Ẉ^ṙpƲ©tṃwçnẒṆ¡⁻Jıƒị£-&Ɱ*ẋʂżoȯÑḢɼ’

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

मैंने हफमैन कोडिंग के साथ खेला, लेकिन अतिरिक्त कोड द्वारा डेटा आकार में सुधार को गलत माना गया। इस प्रकार, यह केवल वांछित आउटपुट का एक आधार -505 एन्कोडेड संस्करण है। आउटपुट में एक पूर्णांक होता है जो कि जब विशेषण आधार 2 के रूप में डीकोड किया जाता है तो 1 डी और 2 एस की 1 डी सूची प्राप्त होगी। नियमों में बदलाव को इंगित करने के लिए @Emigna धन्यवाद।

इसे ऑनलाइन आज़माएं - आउटपुट प्रदर्शित करने के लिए और डिकोडिंग के साथ!

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


7

ब्रेनफक, 2360 2008 1938 बाइट्स

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

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

मैं शायद इसे और भी जल्द गोल्फ करूंगा।


5

डेडफिश ~ , 1115 1088 1084 बाइट्स

oooooo{i}ooo{d}iod{o}{i}c{d}ooiodoiodoooooiodoiodoooooooiodoo{i}c{ii}is{iiii}doooio{{{d}}}oioodooiodo{i}coooooooo{d}o{{i}}oo{{d}i}c{d}{oo}ooo{i}c{d}{o}ooioodooooooooo{i}c{d}{o}ioodoiodooooooooo{i}c{d}{o}ioodoiodooooooooo{i}c{d}oooooooooiodoiodoiodooooooooo{i}c{d}oooooooooiooooodooooooooo{i}c{d}{oo}ooo{i}c{d}ioodooooiooodoooioodooooioodooo{i}c{d}iod{o}oooioodooiodoooo{i}c{d}ioodoiodoooioodoooioodooooioodoiodo{i}c{d}iooooodoiooooodoiooooodoioooood{i}c{d}{oo}ooo{i}c{d}oooiod{o}oooooooiodo{i}c{d}{oo}ooo{i}c{d}ooooiod{o}oooooooiod{i}c{d}ioooood{o}oooioooood{i}c{d}{oo}ooo{i}c{d}ioodooooioodooooiooodoooioodooo{i}c{d}iodoooooooiodoooooooooiodoooo{i}c{d}ioodoiodooooioodoooiooodooioodoiodo{i}c{d}iooooodoiooooodoiooooodoioooood{i}c{d}{oo}ooo{i}c{d}oooiodooooooioodoooooooooiodo{i}c{d}{o}iood{o}o{i}c{d}ooooiodoooooiood{o}iod{i}c{d}iooooodoooooioodooooooioooood{i}c{d}{o}iood{o}o{i}c{d}ooiodooooooooiodooooooooiodoo{i}c{d}oooiodooooooioodoooooooiodooo{i}c{d}ooooioodooooioodooooooiodoooo{i}c{d}ooooooioodoooiodooooioodooooo{i}c{d}{o}ioodooioodooooooo{i}c{d}ooooooioodoooiodooooioodooooo

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

अगर किसी के पास इसे आगे बढ़ाने के लिए धैर्य है, तो मैं आपको समय से पहले सलाम करता हूं। : पी

-27 बाइट्स जहां लागू हो उन जगहों पर 10s और 100s प्रिंट करके।
-4 बाइट को प्रिंट करके अधिकतम 3 और लाइन 3 पर एक 1001


4

पीट , 1763 कोडल

आउटपुट 0s और 1s की धारा (कोई लाइन नहीं तोड़ता)।

कोडेल आकार 1:

कोडेल आकार 1 के साथ Arecibo संदेश कार्यक्रम

आसान देखने के लिए कोडेल आकार 4:

कोडेल आकार 4 के साथ आरसीबो संदेश कार्यक्रम

व्याख्या

  • सबसे पहले, स्टैक पर -1 के एक सेंटिनल मान को धक्का दें।
  • फिर रन-लंबाई एन्कोडिंग का उपयोग करते हुए, अरेसिबो संदेश को रिवर्स ऑर्डर में (क्योंकि यह एक स्टैक है) धक्का दें।
  • अंत में, दो लूप, एक प्रिंटिंग ज़ीरो और अन्य प्रिंटिंग वाले के बीच वैकल्पिक।
    • लूप काउंटर वर्तमान स्टैक वैल्यू है, जब तक कि यह शून्य तक हिट नहीं हो जाता, तब तक इसे छोड़ दिया जाता है और हम दूसरे लूप पर स्विच कर देते हैं।
    • शून्य-लूप और वाले-लूप के बीच, संतरी मान की जांच करें, अगर यह पाया जाता है तो बाहर निकलता है।

टिप्पणियाँ

कार्यक्रम एक सर्पिल पथ का अनुसरण करता है, केंद्र में बाईं ओर ऊपर से दक्षिणावर्त। बिखरे हुए काले ब्लॉक जो मोटे तौर पर विकर्णों का अनुसरण करते हैं, प्रवाह नियंत्रण हैं। यहाँ NPiet से ट्रेस है

मैं इस दिन से इस चुनौती को पूरा करने के लिए काम कर रहा था, लेकिन तस्वीर में संदेश "लिखा" पाने में थोड़ा समय लगा! मैंने पहले अंतिम छोरों और प्रहरी मूल्य लिखा, और फिर केंद्र से संदेश को बाहर की तरफ बनाया। (चूंकि पीइट हमेशा शीर्ष बाएं से निष्पादन शुरू करता है, मुझे उम्मीद है कि अतिरिक्त व्हाट्सएप से बचने के लिए छवि को फेरबदल करना और चारों ओर घूमना होगा, लेकिन यह पूरी तरह से फिट है!)

मजेदार तथ्य: पीट में रन-लेंथ एन्कोडिंग किसी भी स्थान को नहीं बचाती है। यह स्टैक पर मान n को पुश करने के लिए एक रंग का n कोडेल लेता है , या विभिन्न रंगों के n कोडेल को स्टैक पर कई 1s पुश करने के लिए। तो यह उसी तरह कोडल्स की एक ही संख्या है। लेकिन RLE आपको जो बड़ी संख्या देता है, उसका मतलब है कि आप अंकगणित की चाल का उपयोग कर सकते हैं (जैसे कि 9 को धक्का देने के बजाय, आप उपलब्ध व्हाट्सएप को भरने के लिए कोडल्स की संख्या को कम करने के लिए 3, डुप्लिकेट और गुणा कर सकते हैं) और मजाकिया आकार के ब्लॉक।

मुझे पिएट प्रविष्टियों के लिए स्कोर कैसे गिनना है, इस बारे में निश्चित नहीं था। मुझे कुछ ऐसे मिले जो सभी कोडल्स और अन्य को गिनने के लिए प्रतीत होते हैं जो स्पष्ट रूप से केवल सक्रिय रूप से उपयोग किए जाने वाले लोगों की गिनती करते हैं। मैंने सिर्फ उन सभी को गिना; सफेद कोडल्स (यहां तक ​​कि जो प्रोग्राम कभी नहीं चलता है) को अनदेखा करना एक अधिक विशिष्ट प्रोग्रामिंग भाषा में व्हॉट्सएप को नजरअंदाज करने जैसा लगता है।

ओह, और मैंने अभी (पोस्ट करने के दो घंटे बाद) महसूस किया है कि मैंने इस पर काम करने का आखिरी समय बर्बाद कर दिया है। मैं लगभग पूरी तरह से सफेद आखिरी पंक्ति और कॉलम को ट्रिम करना चाहता था, इसलिए मैंने काले प्रवाह-नियंत्रण ब्लॉकों सहित ... के आसपास चीजों को फेरबदल किया। लेकिन छवि के किनारे काले रंग के समान काम करते हैं! अगर मुझे सिर्फ इतना याद है कि, मुझे डीपी और सीसीएस की पेचीदगियों पर इतना समय बिताने की जरूरत नहीं होगी ...


3

सी # (विजुअल सी # इंटरएक्टिव कंपाइलर) , 366 332 329 319 बाइट्स

int i;foreach(var g in"*ЀʂЄ࢈ҲપԤ␀␀␀؀ȀȀȀ؀␀␀సؘࠀƐഘؚ྾ߟ␀␀Ā␀␀ྀ␀␀రܘࠈഌΚ྾ߟ␀␀ă␀ྃ␀ȁăÃ1`ƀ1`ÃĂȃЃЁȂĀ`ÀƀȺ؀Ȃ␀ȏЀȗɛ'Ŀஇ7;ȅ?ȅ0ȍЀ␀␀΂␀ΨՕ΀Ŕ␀ŀЀ?܀àǀƀ`̀°٠Ƙѐʈш҈EB@Ѐޟɸ")Write(Convert.ToString(g,2).PadLeft(12-i++%2,'0'));

परीक्षण के साथ के सभी उदाहरण बदलें \0

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

सी # (विजुअल सी # इंटरएक्टिव कंपाइलर) , 305 बाइट्स, 210 चार्ट

_=>"*ЀʂЄ࢈ҲપԤ␀␀␀؀ȀȀȀ؀␀␀సؘࠀƐഘؚ྾ߟ␀␀Ā␀␀ྀ␀␀రܘࠈഌΚ྾ߟ␀␀ă␀ྃ␀ȁăÃ1`ƀ1`ÃĂȃЃЁȂĀ`ÀƀȺ؀Ȃ␀ȏЀȗɛ'Ŀஇ7;ȅ?ȅ0ȍЀ␀␀΂␀ΨՕ΀Ŕ␀ŀЀ?܀àǀƀ`̀°٠Ƙѐʈш҈EB@Ѐޟɸ".Select((g,i)=>Convert.ToString(g,2).PadLeft(12-i%2,'0'))

ऊपर से समान, परीक्षण के साथ बदलें \0। आउटपुट के रूप में IEnumerable<string>

इसे ऑनलाइन आज़माएं! (सौजन्य से जो किंग)



मेरा मानना है कि ++में 12-i++%2एक nop है (कम से कम, यह मेरे लिए काम किया है जब मैं इसे हटा दिया)
किसी को

@someone वे पुराने जवाब से एक कॉपी-पेस्ट कर रहे हैं जिसे मैं हटाना भूल गया
अज्ञानता का अवतार

2

पर्ल 6 , 368 बाइट्स

.say for :36('FJXOE0PDDNF5Y5EHGB8M9SWMXQOXIKIT9F6ZKWWDEACHCBGXL1N2H60CN0CJ4EMKF7D6MODSKYJVNR4SFTDR6NSM421LQ67B6MWF0G5BQATFOJJJBQ0UFQM64T0MWSQN41C4S5D1QR5KJM2L9UTYMMKUBBQWY45YCMRGO8ZRGTQH7LXMZBUASLCTKX30IH0AYKYEPHO8HFHX8GAY5WM38YOSUX0HABYSH2PPBLRDRZIN5ANAQ3V8PLOZ6EHC0UI95EVJVYD1820T6J14HGX85NWFQET2NWOMSNUT0JW4LHMY90X094TEE9KXJXSNN6YPERFQW').base(2).substr(1).comb(23)

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

लंबी स्ट्रिंग एक एकल बेस -36 नंबर (अग्रणी उपग्रहों को संरक्षित करने के लिए एकल उपसर्ग 1 बिट के साथ) के रूप में संदेश है जो फिर बाइनरी में बदल जाती है और एक बार में 23 बिट्स मुद्रित होती है।


आप बाइट्स का उपयोग >>.sayऔर &{S/.//}सहेज सकते हैं । क्या आपने इसके बजाय एक अलग आधार का उपयोग करने के बारे में सोचा है?
जो राजा

हां, मैंने आधार 65536 / यूनिकोड का उपयोग करने की कोशिश की, लेकिन संदेश कुछ निषिद्ध सरोगेट कोडपॉइंट्स में चलता है। मैं प्रत्येक कोडपॉइंट पर एक निश्चित ऑफसेट जोड़कर इससे बचने में सक्षम था, लेकिन आश्चर्यजनक रूप से, उत्पन्न तारों में से कुछ ने Emacs को कुछ बार दुर्घटनाग्रस्त कर दिया। मुद्दों को सुलझाने में मुझे जितना समय देना चाहिए था उससे अधिक समय लगने लगा। मैं शायद बाद में इस समस्या पर फिर से विचार करूंगा।
सीन

कई बाइट पात्रों में जाने का कोई मतलब नहीं है, क्योंकि इससे आपकी बाइट गिनती बढ़ जाती है। 289 बाइट्स ऊपर से मेरे सुझावों को लागू करने और बेस 122 (गाड़ी के रिटर्न से बचने के लिए) का उपयोग करके
जो किंग

2

वोल्फ्राम भाषा (गणितज्ञ) , 383 बाइट्स

StringPartition[Uncompress@"1:eJylVNsRwjAM44s92KBaBTZgAUZhZXqtHUuOWrgjfSRRHFlO4tyer/vjfb1clq0gHirZLRjby986hppcT5p+L3BmgJ3t4Ul4GsNyG++7YbaXLh0ZTPhXa4Sn+X/s9Qfk3Hx2cOaSIuNYaVu5laschvgzSqAjHeZBhilKgKBDEhw0upJRg+HOK4MyNC29sfbc3RV0VPDqeLiRTsG1ulExq1IitpunOa7asnYM9siDZ6eidUCkEzBOUbCkGIig4aTyUGBYWAX6W6aXIWGGI/HlhmsqzSU0QTZjkMVpaX5sBsm1OGKVg1qdjKP0EdyqZBRLhukn8DLBQav6kccgz8OKfgBzjj6Z",23]

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


2

Node.js , 333 बाइट्स

1,679 वर्णों का एक बाइनरी स्ट्रिंग लौटाता है।

_=>Buffer(")SI)=.);1K?>>>2333A3,93/I3>3)g33)AEAAI)5JQZJTddda3)*3*33+3,e)*e3)//0/1+)1C/7Cgggg3395)9)A3IY)h*IH),39+)995*)AA-)59Y)*O3Z,)//*)91**)A*-)Y+1)I11+)I1)/)5)Y*0?)+)I)-0Y)1@;_*7<gaE/a)Q7[*9HM+IY16I33)a1)*^.><I+S3.38I)*hY)7)a)Y)A,9*A5Y/A:9=9K:1I-=9)19I)9*329)GH<").map(x=>s+=(x-51&&x-41).toString(2).padStart(x-51?6:12,0),s='')&&s

इसे ऑनलाइन आज़माएं! (स्वरूपित आउटपुट के साथ)


जावास्क्रिप्ट (ईएस 8), 413 बाइट्स

1,679 वर्णों का एक बाइनरी स्ट्रिंग लौटाता है।

_=>atob('AsKoAFBQEiIlwpVVUk!!ABwo!DQ!Gg!V!Aw7g!!GHGHCi!yGjHChsK+w7vDr8K!!Q!Q!!g!/DgAHDs!AGGHDhiAgCGhjwprDu8Ovwr4!ABAw4AQAcK!MKDAD8GB8OAD!QCAQQMBAYYEAMQwABwpgAMQwBwoYEBAgEEBgEQDAIwoAgIMKAwoDCgMKABgDDgDAEdcKACAgAEHwAIXTCtgTDpMO+w6HDgcK4AsKDwrIFB8OkCgwINg!!A4IAB1FVTDoArCo!U!/CgAB/w4ADwoDDoAwAYDQBYMOMBmEUFEIkSMKARR!woQgAQB!MKUAHnDtA'.split`!`.join`AA`).replace(/[\s\S]/g,c=>c.charCodeAt().toString(2).padStart(8,0))

इसे ऑनलाइन आज़माएं! (स्वरूपित आउटपुट के साथ)


2

बबलगम, 275 236 बाइट्स

00000000: e006 8e00 e45d 0018 6988 6507 a228 f86f  .....]..i.e..(.o
00000010: f042 c62f d4d7 b99e 38bc 56c4 52e8 2630  .B./....8.V.R.&0
00000020: 8aaa 7252 d47d 5ef4 c96a 511f 6842 423f  ..rR.}^..jQ.hBB?
00000030: 4532 ca9f 22d3 1633 e0c4 665a d5dc 4e68  E2.."..3..fZ..Nh
00000040: 7b09 76ae 3c7e f9d4 fa4a 05e0 4163 c580  {.v.<~...J..Ac..
00000050: c585 a383 2396 4ca9 1f48 a4b9 744e 37c8  ....#.L..H..tN7.
00000060: 68c5 af23 645d 59a7 542a e6d1 23b9 3aba  h..#d]Y.T*..#.:.
00000070: f0e6 2738 dfd5 b0a3 c6a3 60bf c5b6 5ae6  ..'8......`...Z.
00000080: 7893 30a8 ae04 edf9 298b b777 4d56 285b  x.0.....)..wMV([
00000090: cb74 07cc 7a7b a399 3dc7 c6e7 b693 e715  .t..z{..=.......
000000a0: d908 876e 001f 7408 3c6a 5fcd 37cb 02c4  ...n..t.<j_.7...
000000b0: 93de 33c2 a11e 5bac cd12 d99a fac3 e0fa  ..3...[.........
000000c0: 5268 94f7 d640 0f73 cede f79d 821f 39d1  Rh...@.s......9.
000000d0: dc49 ff06 6962 6c31 dc29 a077 01c3 7690  .I..ibl1.).w..v.
000000e0: 85ef bbec 31d7 5c7f f9fc 8c00            ....1.\.....

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


2

बैश + जीएनयू उपकरण, 351 बाइट्स

base64 -d<<<H4sIAPnNrVwCA6WUCRLDIAwDv8T+/3NNG4wvkTBTcisGSyA8xrcxj9Ds02F+Z7yuf3hnPyz0vYEGz+FG3IKBs+x3oL2PSh0TM/PnaGamft9nPUCew3uCp5RBWdRKGz+qNJn8qRKkkNaTBgeVIFXWOdi8VCaIeUnsfHo6TXpaFa3H5olf6J5MuIHLoEi0uKcRFCvEXG4xseglKzZg7kpYJSLMA3M7wXKR+/L2WiK0kvg+TDASLp6Co1KEVIlVmFzhCktRhBBDdSZYU1xKHrmDUllcWpNR/YNW2QNcHtF0rSySb0MXk/SDUgEwG5gfLvQDxuEdDo8GAAA=|gunzip

TIO


इससे पहले कि मैं अपना पोस्ट बैश पोस्ट देख सकता था - इतना छोटा!
नूडल

2

मठगोल्फ , 223 220 बाइट्स

'06*"x·<×J× Ç×►B×ê\"@$↕!◙è0♥f░×→0×♠p└☺α?×└•×◙×P♣p¬è:×►∟××××←♦♠♣≥â☻┘A☺▄αp⌂r☻[║►×>◘×♦♦└:☻↑`×♥@@@@►►@♦↑ ☻♀◘☻♦☻☻├×å↑×╠×Ç!♠ 0♀◘↑◘☻♦◘×♠α♥â▼ÇA×└×◘` ×××▀≈}═14♦►►π0♀××°×α•×►×××☻×◘××└≈}_├↑♪↓×─0♫♥×××|××*××♪×Ç♠×└×××× ⌐¬╩↕◄○((×T☺"$à+

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

व्याख्या

'0                push single character "0"
  6*              repeat 6 times
    "..."         push the magic string
         $        convert to ordinal
          à       convert to binary string
           +      pop a, b : push(a+b) (add the 6 zeroes)
                  below is the footer
            L/    divide into groups of 23 characters
              n   join array with newlines into string

आप L/nपाद पर जा सकते हैं , इसलिए यह वास्तव में 220 बाइट्स है। क्या 05AB1E / Java उत्तर ( इस संपीड़ित पूर्णांक का उपयोग करके , इसे आधार -3 में परिवर्तित करके, और सभी 2s को 0000s के साथ बदलकर) अधिक बाइट्स को बचाया जा सकता है ?
केविन क्रूज़सेन

@ केविनक्रूजसेन का अच्छा कैच! काश मेरे पास और भी स्ट्रिंग रिप्लेसमेंट फंक्शन होते, लेकिन वह अभी मैथगल्फ का हिस्सा नहीं है।
मैक्सबेल

प्रति अंक के नक्शे के बारे में कैसे, जो नक्शे के 2लिए ♫░╞? संपादित करें: कोई बात नहीं। मुझे लगता है कि आपके पास बेस -3 में बदलने के लिए आधार रूपांतरण बिलिन (बाइनरी / हेक्साडेसिमल को छोड़कर) नहीं है?
केविन क्रूज़सेन

@ केविनक्रूजसेन मैंने थोड़ा सोचा है कि मुझे आधार रूपांतरण कैसे बदलना चाहिए। मुझे निश्चित रूप से बाइनरी स्ट्रिंग को दशमलव में बदलने के लिए एक आदेश की आवश्यकता नहीं है, और दूसरे को बाइनरी सरणी को दशमलव में परिवर्तित करने के लिए। इस तरह, मैं एक और आधार रूपांतरण कमांड को फिट कर सकता हूं (और यह विचार हमेशा भाषा में सामान्य आधार रूपांतरण का रहा है)।
अधिकतम

निश्चित रूप से आप +पाद को भी स्थानांतरित कर सकते हैं
जो राजा

1

पर्ल 5 , 460 बाइट्स

printf"%023b",oct"0x$_"for qw/15400 141404 4444b2 555524 0 600 1a00 1a00 2a00 3e00 0 61c618 400190 68c61a 7df7df 0 80002 0 40001 7c001f 0 618718 404010 68639a 7df7df 0 81802 1800 41801 7c181f 1800 100804 81808 61810 18860 1980 18860 61810 81008 101804 201804 200808 101010 80060 60180 11d600 101000 107c00 10ba5b 1393f 5c3837 283b 10283f 102830 106c00 0 1c1000 1d4555 1c0154 140 7c00 1ff00 701c0 c0060 1a00b0 330198 228288 224488 22880 21080 20080 9400 3cfa78/

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


1

पायथन 2 , 336 बाइट्स

print bin(int('gVQAKCgJERLKqqkgAAAAAMAABoAADQAAKgAAfAAAAAMOMMQAGQ0Yw19998AAAAgAAgAAABAAB+AA+AAADDDjEBAENDHNffffAAAAIGAIAMAAQYAfgwPgBgAIBAIIGAgMMCAGIYAAzAAYhgDDAgIEAggMAiAYBEAQEEBAQEADAGAYAjrABAQACD4AELpbAnJ/cODcAUHZAoPyBQYEGwAAAAAcEAA6iqpwBVAACgAHwAA/4AHAcAYAMBoAsGYDMIoKIRIkQCKIAEIQAIAgAEoAPPp4'.decode('base64').encode('hex'),16))[3:]

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

बाइट्स की एक स्ट्रिंग प्रिंट करता है


1

जावा (ओपनजेडके 8) , 364 बाइट्स

n->new java.math.BigInteger("in95mzupnpa2r0khpoepyql6ioqyn413avucdtfay6indx4wh9dehe3sn18klobtf4z9g9q17umqmwpegr2khb5eqinn7azl4jpfp2a8eui0xfrx5qwrou6gd65jh4ge3ls14k5lu7qrvmg6942ms29u5rb8fa6yrdhfoh5zoi9bdi7uh5ig0u0ff9kounth8sh357x7qox4m3oqviqsbrvakonbka4ahp21bgzi5v1akzzuqoncszhpabbru9q1uo2g11zr73iuyiqr5ikr69zn7cdv7e1lhd6ese9",36).toString(3).replaceAll("2","0000")

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

स्पष्टीकरण: पहले था n->new java.math.BigInteger(str,36).toString(2), बस एक मूलांक 36 संख्या को द्विआधारी में परिवर्तित करना, लेकिन अग्रणी शून्य के लिए नौ अतिरिक्त वर्णों की आवश्यकता थी। फिर, मुझे रन-लेंथ को कुछ शून्य के रूप में एन्कोडिंग करने का विचार आया। चार जीरो की लंबाई से मूलांक 36 की लंबाई कम से कम लगती है, इसलिएn->new java.math.BigInteger(str,36).toString(3).replaceAll("2","0000")

इस उत्तर के तहत चर्चा देखें @KevinCruijssen द्वारा प्रमुख शून्य बग फिक्स के लिए


अच्छा लगा। यह जावा के लिए प्रभावशाली रूप से छोटा है!
एरिक डुमिनील

1

[अजगर 2] , 345 बाइट्स

s=''
for c in")pG/K(K*j$h%kk$ppjGE&I6S6S5[5eCv~vw0x&z$wgqcde$e=G4G?G4eG0e:vv~w*G,gn$wy$uuuuG=G)I,G.I2G(I-eG(I)e-I0G+G+G(G)I*G*vI)G-w'I2y0w'I,vI)G*G)G+G(G*I+W+I+W,G*G(G*G*G*G/I,I+I,iq.G*G1G(e/g$c%sG)m%md~$M(},K(cO)K(eO)K(I)G(aE$M(G1c$hpoI,pG3K1e3eU/M*M,I.I*S,Q(y*y'hG(ng&j$j$G+hW/g'G/G,G1k.d$e$mN":c=ord(c)-35;s+=[bin(c-35)[2:],'0'*c][c<35]
print s

मैंने chr (31) पर बाइट के रूप में 0s के स्ट्रिंग्स की लंबाई एन्कोड की। तब मैंने बचे हुए 10101 को बाइनरी नंबर के रूप में chr (70) से शुरू होकर chr (126) तक एन्कोड किया। बाइनरी स्ट्रिंग्स जो फिट नहीं थे, छोटे टुकड़ों में विभाजित हो गए थे।

संपादित करें: 326 बाइट्स में कमी। धन्यवाद जो राजा

संपादित करें: कोड जनरेटर कार्यक्रम में एक बग फिक्स्ड

संपादित करें: अंतिम संपादित करें


आपको oचर में बड़े स्ट्रिंग को सहेजने की आवश्यकता नहीं है ।
xnor

1

Zsh , 577 बाइट्स

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

S=fxxxxibxxdxxfyzzzyx1yxxxxxxxxyyywl2ij1xxhj1xxhixxxhi5iw2d3c2d2cxl2bxc2az2c2d2ax4x4x4x5wcxpxwdxp15m5w2d2d3c2cxfxhxc1xxc2c2y1xx4x4x4x5wc1f2ixj2kd1e2j15e2f5j2kb1h1hyc1f2gzd2d2fzaf2c1d2ej2b2gf2c1d2ed2d2f1dc1f1hzb1g2hya1h2hya1i1gzb1g1g1dc1l2ed2h2gbz2xx2ibzd1lbzb5jb1dx2xyx1x2fy2yy6x3d3e2a3ixxd2x2b1fxxd6b1fxxd2db1e2a2jwb3e1lb2xxzxxxxx1b3ixxxynxxeh5jf9hd3g3fc2k2eb2a1ix2da2b2g2b2cazxxdxzzazyzyzzezxz1ge1d1d1ge1i1ggyxxia3y4xy3z
for X in ${(s::)S};{case $X in
[a-w])V=$[##$X-96];printf 0%.s {1..$V};;[1-9])V=$[##$X-48];printf 1%.s {1..$V};;[x-z])V=$[##$X-119];printf $[10**$V];;esac}

कस्टम एन्कोडिंग तर्क का उपयोग किया। स्ट्रिंग S421 वर्ण है, संभवतः थोड़ा और संकुचित किया जा सकता है। पत्र a-wबार-बार प्रतिनिधित्व करते हैं 0। संख्याएँ 1-9बार-बार प्रतिनिधित्व करती हैं 1। पत्र क्रमशः x y zप्रतिनिधित्व करते 10 100 1000हैं।

शायद मुझे बाइट-पेयर एन्कोडिंग या एससीआई 85 की कोशिश करनी चाहिए थी


0

बैश , 702 697 बाइट्स

xxd -r -p<<X|xz -dc
fd377a585a000004e6d6b4460200210116000000742fe5a3e006d7010c5d
0018698865079cf6752c9e9a501a87a798b4844f9fcfdaaf87733b9d8239
48c816d860a938767f6cb81299f3e8a638effe3068c0e096a8949c81d706
7dff3ec44e5df185b3a48e5b5857724386e8c37cfbd5c856b12614ee78ec
c41df4db3aea71fd3a8fa474905609f78eb3fd66e246557965e4ab6dfd67
efbd9202f542ded9cf98a6401ee2d23afb2f544bd2442c6f428fd612397c
f2c6ec50847ddccc5832185e487712e5a7676b97058d7e485d5a3536166a
44ab3c689c93073cdda73b5306a83c4cd268e79db238bfa2d08ac912a578
75020bc7828342d5a62ce367aff7fd89290336128d119fa4272da2b2a79f
5973c71935af054f2d91c1bd3ea4847a3502d6dc8c975114dacf8a4de600
622d80986dbb0cd00001a802d80d00001b16e2a7b1c467fb020000000004
595a
X

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


0

रूबी , 362 बाइट्स

puts"5r0afnfm8wyke8tfy1pwt7xnuaxyh3wodfp7bhsdufyw0xbdp1pumrz2xir652tuc0ss9oec8yad9vefivd66j126wybhefgk2lv38uqqiur11u26q275jk3h2ucithd59awpaenqpqi1pszh52179zw0ddqtbrvo6kyrrgv8c34pqrp83j8estjp63v29t4hqp9yg2hhzjlq1e9zqx6gh20n9lsttimz3nbq060ritrphxaru7quwmv3oujhd9xjddpbacq4bnpf270znhgto59yn0980itylf95pxw9x7rvkvi7mfql1sx46puo8rg4dq0".to_i(36).to_s(2).rjust(1679,?0)

बेस 36 में लिखा पूर्णांक। पूर्णांक को संपीड़ित करने के लिए निश्चित रूप से एक अधिक कुशल तरीका है, उदाहरण के लिए zlibया के साथ base64

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


350 बाइट्स यदि आप: (1) to_s के बजाय फ़ॉर्मेटिंग के लिए "% b" का उपयोग करते हैं, (2) प्रीपेन्ड? 0 * 6 के बजाय बलात्कार करने की बजाय
GB

0

[सी ++ (वीसी ++) (लेकिन साथ ही जीसीसी के साथ परीक्षण किया गया)], 585 बाइट्स

#define l(x,y)for(int x=0;x<y;x++)
void f(){const char*a="02A800505012Y595Y240U180YD0Y1A0Y540YF80V61C618800321A3186BEFBEF80X10Y40W20YFC001F0X1861C620200868639AFBEFBE0W40C0100180Z83003F0607C00C001008041030101860400C430Z19800310C018604040804101804403008802020808080800600C030047580080800107C002174B604E4FEE1C1B80283B20507E40A0C08360U3820Z751554E00AA0Z140ZF80Z7FC00380E00C0060340160CC06611414422448804510Z8420010040Z940079F4F0";int x=1679;l(i,365){int d=a[i],c=0;d-=(d>47&d<58)?48:((d>64&d<71)?55:0);if(d>70&d<91)c=91-d,d=a[i-1];for(c;c>=0;c--)l(j,4){if(x--)cout<<(int)((d&(8>>j))>0);}}}

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

ungolfed संस्करण (1679 वें तत्व के बाद भी ब्रेक का अभाव है और 1680 वें तक चला जाता है):

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    const char arecibo[]="02A800505012Y595Y240U180YD0Y1A0Y540YF80V61C618800321A3186BEFBEF80X10Y40W20YFC001F0X1861C620200868639AFBEFBE0W40C0100180Z83003F0607C00C001008041030101860400C430Z19800310C018604040804101804403008802020808080800600C030047580080800107C002174B604E4FEE1C1B80283B20507E40A0C08360U3820Z751554E00AA0Z140ZF80Z7FC00380E00C0060340160CC06611414422448804510Z8420010040Z940079F4F0";
    int i = 0,j;
    while (i<sizeof(arecibo)-1)
    {   
        char digit = arecibo[i];
        int count=0;
        if (digit >= '0' & digit <= '9')
        {
            digit -= '0';
        }
        else if (digit>='A'& digit<='F')
        {
            digit -=  'A'-10;
        }
        else if (digit > 'F'&digit<='Z')
        {
            //digit does not contain any valid hex digit in this case
            count = 'Z' - digit+1; //digit = Z means repeat 2 more times...
            digit = arecibo[i - 1];
        }
        for (count; count >= 0; count--)
        {
            for (j = 0; j<4; j++)
            {
                cout << (int)(((digit)&(8 >> j))>0);
            }
        }
        i++;
    }
    return 0;
}

स्पष्टीकरण के रूप में: मैंने एक लंबी लाइन के लिए दिए गए नमूना उत्पादन की 73 पंक्तियों को संक्षिप्त कर दिया। मैंने उन्हें हेक्साडेसिमल में एन्कोड किया जहां बिट ऑर्डर मिस्बफस्ट है (इस प्रोग्राम का उपयोग करके https://github.com/Marc-Bender/longBinaryStreamToHex/releases/download/addedError.ode-4/longBinaryStreamToHex.exe ) मैंने इसका आउटपुट लगभग 70 से छोटा कर दिया है हेक्साडेसिमल अंकों को 'G' - 'Z' अक्षरों का उपयोग करके एक निश्चित समय के लिए अंतिम अंक (Z = 2more बार, Y = 3more बार ...) को दोहराने के लिए एक संकेत के रूप में किया जाता है। बाकी कोड-गोल्फर के लिए अपेक्षाकृत आत्म व्याख्यात्मक होना चाहिए । प्रीप्रोसेसर को गाली देना, लूप को छोटा करना, ,ऑपरेटर और इस तरह को गाली देना ।

आउटपुट स्वरूप 1679 0/1-मानों की निर्बाध धारा है।


इससे पहले कि कोई पूछता है कि वीसी ++ के साथ संगतता के लिए कास्ट है (मुख्य विकास कार्य किसके साथ किया गया था)
डेर बेंडर

@ceilingcat मुझे लगता है कि आप और भी कम कर सकते हैं कि हेडर सेक्शन में अपने को शामिल करके ...
der bender


0

पर्ल 6 , 348 बाइट्स

{"000000"~:36<5r0afnfm8wyke8tfy1pwt7xnuaxyh3wodfp7bhsdufyw0xbdp1pumrz2xir652tuc0ss9oec8yad9vefivd66j126wybhefgk2lv38uqqiur11u26q275jk3h2ucithd59awpaenqpqi1pszh52179zw0ddqtbrvo6kyrrgv8c34pqrp83j8estjp63v29t4hqp9yg2hhzjlq1e9zqx6gh20n9lsttimz3nbq060ritrphxaru7quwmv3oujhd9xjddpbacq4bnpf270znhgto59yn0980itylf95pxw9x7rvkvi7mfql1sx46puo8rg4dq0>.base(2)}

बेंजामिन Urquhart के जावा समाधान पर आधारित है ।

0 और 1 वर्णों की एक सीधी धारा का उपयोग करता है। नीचे दिए गए लिंक में आउटपुट प्रीटेट करने के लिए कुछ कोड हैं।

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


0

टीईसी , 366 बाइट्स

binary scan [binary decode base64 QBUACgpIRKSpqkoCAAAAgAEAsAAAWAAAKgAAHwAAAGA4hhEATFiMYX3f9wEAAAgAIAAAAAQA8AOADwAAGIZjBAQQFsZZ3/d9AAAAAgMIgAEAwQD8YOADMAAIECAIDAgYBgIwwgCAGQCMMIBhICAQIAgYIAIMEAEEBAEBAQFgAAMMIK4BEBAACD4AhC5tICd/h4MdQMFNoOAnUDAQbAAAAAAcBACuqCoHUAUAKADwAQD+A8ABBzAABiyABjNghigoQiQSAaIIACEEgAACACkAni8P] b* z
puts [join [regexp -all -inline .{23} $z] \n]

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


0

सी ++ (ग्नू मल्टी-सटीक लाइब्रेरी के साथ), 359 बाइट्स

यह स्ट्रिंग को एक पंक्ति के रूप में आउटपुट करता है। यह 0 के लिए '1' और 1 के लिए '0' का उपयोग करता है।

यह बस एम्बेडेड स्ट्रिंग को बेस 62 के रूप में पढ़ता है, और इसे बेस 2 के रूप में प्रिंट करता है।

g++ -g arecibo.cpp -lgmp -lgmpxxसंकलन और लिंक का उपयोग करें

#include<gmpxx.h>
main(){mpz_out_str(stdout,2,class_mpz("vuXXKBYAu1hPsJPbFSf49akyFd0bjJbMIV3upYndU8kYFPsXcpRUK6c9qnzLfORxkxGL7ZfoSwgSxFbCrydjHL603QcxexopAzoYAcAyEiENJJU2vQA2zM8NDbeY6nHgL8rfFoPJaclwxx6TeKeOEknEQHzp7C4la3o8xijBQLOVweFZ1CI9dXy2VQhgnuwF5FeW5mQ909pRMxhn6G3RJ1QEtkS7oGMZYHM03fh4fj391IoYLGVv3iUVuTrV2ghz9CUa9hfGYrdhGoVE2w1inYalYl",62).get_mpz_t());}

मैं यह काम करने के लिए जब तक मैं के class_mpzसाथmpz_class
छत

0

पर्ल 6 , 276 बाइट्स

:122[q{3tD!gLF['u#.K>'uCG8cvJZ[on1Z<D!	`Fhqq-_V'"qQn+n0h\:b,vXjo&1TMFaW;wvX;eUS
(ueelNSu,y93\kjGI&?UU/38 :ndi4Y5cyC+ME\g7LWaS;QLjtD^L+aVd(XW%gy\8'Eqk-+f72S5J?(r5!m^5px T[Z'3&jd0lZ'/x%#(}.ords].base(2)~~S/.//.say

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

1679 0s और 1s की श्रृंखला के रूप में आउटपुट। आप इसे .comb(23)>>पहलेsay जोड़कर विभिन्न लाइनों पर रख सकते हैं ।

स्पष्टीकरण:

:122["...".ords]                     # Convert the string from base 122
                .base(2)             # To base 2
                        ~~S/.//      # Remove the leading 1
                               .say  # And print

मैं शायद 1679 बिट पूर्णांक के रूप में आउटपुट का उपयोग करके बाइट्स को बचा सकता हूं, या बिट प्रतिनिधित्व को उलट सकता हूं।


0

सी ++ (जीसीसी) , 748 बाइट्स

#define l(X,Y)if(z[i]==#X[0])z.replace(i,1,#Y);
void f(){std::string z = {"ab1eeedala1ebeeheal1mmma1fa1g1eeeeeeea1a1alddhgdbcdgdacedgdacedgdeeedgdndgddhgqiafbcag1dbfa1blceafafbcegcinnnlddhgmddegddhgb1ddelcidbnlddhgqqiafag1hedeblcebcaf1acegcinnnlddhgmhcdegdacdagb1bfda1lcibfhcildacdaga1d1d1almhcheagbqch1blhcmbqgdacachghcmbqgbqch1blmh1d1aga1hfd1aledcd1aledeheaga1heheblmdbqgbcdchga1af1efdga1hedbla1bndala1b1f1ea1fflh1aia1acccl1f1bibff1ldeebf1fla1h1ebfccla1h1ebfbla1bffdalddhgaibedblaieemeeeeelaideeeealdh1ehldcidalhcccidlbihf1hlafdafbgacedefblfachfacagemebeemagema1ma1magbememhgbeb1b1hgbedehghea1edalfcacieacca0"};for(int i=0;i<1751;i++){l(q,cb)l(n,fi)l(m,ae)l(i,c1)l(h,ba)l(g,0l)l(f,0c)l(e,01)l(d,bb)l(c,11)l(b,aa)l(a,00)l(l,\n)printf("%c",z[i]);}}

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

एक नए चरित्र के साथ सबसे अधिक उपयोग किए जाने वाले प्रतिस्थापन को तब तक प्रतिस्थापित करना जब तक कि वह इसके लायक न हो



0

पायथन 3 , 331 बाइट्स

exit(''.join(bin(i)[3:]for i in b'`UP@JB`IDQKJjjd`@@@@@L@@Ah@@CP@@J`@@_@@@@@LNLLP@FPtXpu}}}|@@@@`@@`@@@A@@A~@@~@@@CCCcDA@DMCGM____@@@@HF@H@L@@PX@_`pO`A`@HA@HHF@`LLB@FHX@@s@@Xa`CC@`HD@``L@b@XAD@PDDA@PD@C@F@X@ck@A@P@BCx@DKi[@gI\x7f\\NC\\@TGY@hOrAPXDFp@@@@@\\D@@zbjipAU@@B`@Gp@@\x7fx@G@\\@X@LAh@lFXCLHhJHQHdPBJH@DHP@H@`@Dh@OOix')[1:])

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

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