वॉकर में शामिल हों! - एलन वॉकर का लोगो


13

एलन वॉकर को आप कभी उनके लोकप्रिय गीत फ़ेड से जान सकते हैं। अब उनके "अनुयायियों" को वॉकर कहा जाता है और उनके पास एक लोगो है, यहाँ एक सरलीकृत संस्करण है:

\\
 \\              //\\  
  \\            //  \\            //
   \\          //    \\          //
    \\        //      \\        //
     \\      //        \\      //
      \\    //          \\    //
       \\  //    //\\    \\  //
        \\//    //  \\    \\//
         //    //    \\    \\
        //\\  //      \\  //\\
           \\//        \\//  \\
                              \\

इस चुनौती का लक्ष्य इस लोगो को प्रिंट करना है।

नियम:

  1. यदि आप मेटा मानकों के अनुसार किसी फ़ंक्शन से स्ट्रिंग की सूची वापस करते हैं, तो कृपया एक पाद प्रदान करें जो इसे स्क्रीन पर प्रिंट करता है।
  2. उपरोक्त लोगो के सभी वर्ण होने चाहिए। कोई शॉर्टकट नहीं!
  3. सबसे कम संख्या में बाइट्स जीतती हैं!

क्या प्रत्येक पंक्ति के अंत में अतिरिक्त स्थान हो सकते हैं (क्योंकि वे बदलते नहीं हैं कि आउटपुट कैसा दिखता है)? क्या नई सुर्खियों में आना / बढ़ना हो सकता है?
द्विजिमा

@ दज़िमा, हाँ आप कर सकते हैं।
डाट

एलन वॉकर के लिए +1 !!
HighlyRadioactive 10

जवाबों:


14

चारकोल , 31 30 29 27 बाइट्स

F²«Jι⁰↙χ↖↖⁵↙↙⁵↖↖²P↖χ↙↗χ↘↘¹²

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। दुख की बात Copyयह है कि मैं इस मामले में क्या करना चाहता हूं, इसलिए मुझे इसके बजाय लूप करना होगा। स्पष्टीकरण:

F²«Jι⁰

सब कुछ दो बार ड्रा करें, लेकिन कर्सर के साथ एक वर्ण को दूसरी बार दाईं ओर शुरू करें।

   ↙χ↖↖⁵↙↙⁵↖↖²P↖χ

मुख्य डब्ल्यू को दाएं से बाएं ओर खींचें, लेकिन उल्टे वी के पास कर्सर छोड़ दें।

   ↙↗χ↘↘¹²

उलटा V खींचना।


आप "केवल" 20 बाइट्स द्वारा भोले समाधानों को हराते हैं: पी
स्टीफन

1
@ स्टेफ़ेन 46% की बचत को पहली जगह में लूप सेट करने के ओवरहेड को बुरा नहीं माना जाता ...
नील

क्या मिररिंग इसके लिए कम नहीं है?
स्टीफन

5
@ स्टेफ़ेन विषमता को ठीक करने से बहुत अधिक लागत आती है। सबसे अच्छा मैं कर सकता था 35 बाइट्स F²«Jι⁰↘χ↗↗⁵M⁵↑←↙χ»‖M↥\\¶ \\F²«Jι⁰↖³:।
नील

13

जावास्क्रिप्ट (ईएस 6), 172 139 बाइट्स

let f =

_=>`1
3s1
5o5o
7k9k
9gdg
bchc
d8l8
f48194
h08590
i899
g14d41
n0h05
1p`.replace(/.p?/g,n=>' '.repeat((n=parseInt(n,36))/2)+(c='/\\'[n&1])+c)

O.innerText = f()
<pre id=O>

कैसे?

लोगो में मूल रूप से रिक्त स्थान के समूह होते हैं या उसके बाद //या \\पंक्ति फ़ीड।

आधार -36 मानों का उपयोग करके रिक्त स्थान और समाप्ति पैटर्न एन्कोड किए गए हैं:

  • कम से कम महत्वपूर्ण बिट समाप्ति पैटर्न देता है: के 0लिए //, के 1लिए \\
  • अन्य सभी बिट्स अंत पैटर्न से पहले रिक्त स्थान की संख्या देते हैं।

सब कुछ इस तरह से एकल बेस -36 अंक के साथ एनकोड किया जा सकता है, जिसमें अंतिम पंक्ति को छोड़कर, जिसमें 30 रिक्त स्थान होते हैं \\, जिसके बाद 1pबेस -36 में 30 * 2 + 1 = 61 = होता है। इसकी pव्याख्या 12 स्थानों के रूप में की जानी चाहिए, \\लेकिन यह पैटर्न कहीं भी दिखाई नहीं देता है। इसलिए, हम इस विशेष मामले को नियमित अभिव्यक्ति में 2 अतिरिक्त बाइट्स की कीमत पर संभाल सकते हैं /.p?/:।


पहला संस्करण, 186 बाइट्स

NB: यह एक लोगो अद्यतन से पहले प्रस्तुत किया गया था।


अच्छी तरह से गोल्फ। जवाबों की जाँच करने से पहले इस पर स्वयं एक छुरा घोंपा; अपने 172 बाइट संस्करण के समान कुछ के साथ समाप्त हुआ।
झबरा

7

ब्रेनफक , 579 बाइट्स

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

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

47 92 32 10मेमोरी में स्थिरांक उत्पन्न करता है, फिर उन्हें उपयुक्त के रूप में चुनता है और आउटपुट करता है।


मुझे पूरा यकीन है कि इसे नीचे गिराया जा सकता है, खासकर कि पिछले भाग
स्टेन

@StanStrum इसे एक शॉट देने के लिए स्वतंत्र महसूस करें। मैंने कोशिश की, लेकिन इसे व्यक्त करने का कोई अच्छा तरीका नहीं मिल सका, विशेष रूप से सशर्त रूप से BF की क्रियाशीलता को देखते हुए।
कॉनर ओ'ब्रायन


4

बबलगम , 77 76 बाइट्स

Hexdump:

0000000: 75cf c109 8000 0c43 d17b a6c8 0659 28fb  u......C.{...Y(.
0000010: cf21 05cb a782 3de9 4b5a b495 5b9f 4946  .!....=.KZ..[.IF
0000020: 870f dac3 f8ea 5704 51b9 2284 c611 0114  ......W.Q.".....
0000030: 9029 f09e ec67 2362 21e1 075e 2136 29b9  .)...g#b!..^!6).
0000040: 08b9 bf97 8939 cf33 ebbf d33e            .....9.3...>

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

बबलगम दहलीज। : पी



3

सी (जीसीसी) , 377 बाइट्स

char*r="2\\01 2\\14 2/2\\02 2\\12 2/2 2\\12 2/03 2\\10 2/4 2\\10 2/04 2\\8 2/6 2\\8 2/05 2\\6 2/8 2\\6 2/06 2\\4 2/10 2\\4 2/07 2\\2 2/4 2/2\\4 2\\2 2/08 2\\2/4 2/2 2\\4 2\\2/09 2/4 2/4 2\\4 2\\08 2/2\\2 2/6 2\\2 2/2\\011 2\\2/8 2\\2/2 2\\030 2\\";char d[9];main(i){do{if(*r==48)puts(""),r++;for(i=0;isdigit(*r);d[i++]=*r++);for(d[i]=0,i=atoi(d);i--;putchar(*r));}while(*r++);}

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




3

हास्केल, 161 160 बाइट्स

foldr(\a->(++(' '<$[1..fromEnum a-last(96:[64|a<'`'])])++last("\\\\":["//"|a<'`'])))""<$>words"` `Na LbLb JdJc HfHd FhFe DjDf Bd`DBg @dbD@h ddDI `BfB`H b@h@k ~"

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

इससे पहले रिक्त स्थान \\को लोअरकेस अक्षर के रूप में एन्कोड किया गया है और //अपरकेस अक्षरों के रूप में जहां रिक्त स्थान की संख्या ASCII मान माइनस 96 (या 64) है। शून्य रिक्त स्थान है `/ @। प्रत्येक पंक्ति के रिक्त स्थान को रिवर्स ऑर्डर में संग्रहित किया जाता है, क्योंकि एक दाहिने गुना से खपत होती है।


2

चारकोल , 51 बाइट्स

P↘¹²→↘¹²↑P↗⁵→↗⁵↓P↘⁵→↘⁵↑P↗χ→↗χM¹¹↓M⁵←P↖¹²←↖¹²↓P↙χ←↙χ

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

चारकोल , 50 बाइट्स

P↘χ→↘χ↑P↗⁵→↗⁵M⁵↑←P↙χ←↙χMχ↗‖MM¹⁸←P↖²←↖²J²⁷¦⁹P↘²→↘²¦

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


2

चारकोल , 50 31 बाइट्स

F²«↘¹²↗↗⁵↘↘⁵↗↗⁹Mχ↓M⁴←↖¹²↙↙χJ¹¦⁰

इसे ऑनलाइन आज़माएं! लिंक वर्बोज वर्जन के लिए है।

मैंने कोशिश की। (इसके अलावा, मैं यह बताऊंगा कि मैंने यह पूरी तरह से अपने दम पर किया है, भले ही यह दूसरे से कुछ समान दिखाई दे। [शिज़, मैंने इसे फिर से किया। यह अभी भी अलग है, वैसे: पी]


1

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

“<fṭY2Ẹ<ƭẹ£ʋ¥¹)Œ<Ẓ⁹ḣ⁶ıĠ\ṃṛ?04|ẏḌẉƙ+’b36⁶ẋ“ÇỴ$ñ⁵FḄ’Bị⁾\/¤ẋ€2¤żFs36

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

पात्रों की सूची लौटाता है। TIO लिंक में अलग-अलग लाइनों पर प्रिंट करने के लिए एक पाद है।


1

PHP, 186 बाइट्स:

दोनों संस्करणों के लिए PHP 5.5 या बाद के संस्करण की आवश्यकता होती है।

ऑनलाइन चलाएं -nrया उन्हें आज़माएं


अंतरिक्ष संपीड़न सबसे कम विकल्प देता है:

(डबल बैकस्लैश मैप टू 0, डबल स्लैश टू f, सेप्स टू कम्प्रेस्ड डिजिट्स)

while(~$c="0
1077f0
2066f2066f
3055f4055f
408f608f
506f806f
604f5504f
702f4f0402f
80f4f2040f
9f4f4040
8f02f602f0
560f80f20
87870"[$i++])echo+$c?str_pad("",$c):strtr($c,["\\\\",f=>"//"]);

PHP 7.1 चेतावनी देता है; ठीक करने के +$cसाथ बदलें $c>0


बेस 64 एन्कोडेड बिटमैप ( 187 बाइट्स ):

(मैप्ड स्पेस टू 00, न्यूलाइन टू 01, डबल बैकस्लैश टू 10और डबल स्लैश टू 11, तो कॉन्सेटेड 3 "पिक्सल" टू हर एक कैरेक्टर, प्रीपेड 1एंड बायनरी बाय ASCII)

for(;$c=ord("d`@@@@yB@@@@p`@@@M@`@@C@H@@@t@`@@p@H@@M@B@@p@@`@M@@`C@@@H@t@@`pC`BCP@@l@p`Bt@@C@L@`BP@@xL@BCd@@@K@@Bpd@@@@@@@@@B"
[$i++]);)for($b=6;$b;)echo[" ","
","\\\\","//"][3&$c>>$b-=2];

(पढ़ने की सुविधा के लिए पहला लाइनब्रेक; अन्य एक आवश्यक है)


1

बबलगम , 74 बाइट्स

00000000: 758c 4b11 0400 0885 eea6 a081 85e8 9f63  u.K............c
00000010: 4fb2 7f4f 0e30 4f07 e5ed 7615 8613 e16f  O..O.0O...v....o
00000020: 321c ab89 d484 4a22 2591 8a48 45a0 2052  2.....J"%..HE. R
00000030: 809e dfd5 481e 3d0d 7a24 4d96 bc43 b2fd  ....H.=.z$M..C..
00000040: 96d3 cdbf fff9 7fa7 f300                 ..........

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


1

पॉवरशेल , 221 220 बाइट्स

$ofs=''
"b
 b$(' '*14)/b
$((2..6|%{' '*$_+"b$(($a=' '*(14-++$i*2)))/$(' '*$i*2)b$a/`n"}))   4b  /4/b4b  /
44b/4/  b4b/
44 /4/4b4b
44/b  /4  b  /b
44   b/44b/  b
$(' '*30)b"-replace4,'    '-replace'/','//'-replace'b','\\'

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

काफी भोली दृष्टिकोण ( और जेएस जवाब, संकट से बदतर 50 बाइट्स )। किसी को भी -replacePowerShell में कई करने का तरीका पता है ?

-1 बाइट्स Veskah के लिए धन्यवाद।



@Veskah सरल बाइट बचत। धन्यवाद!
AdmBorkBork


1

C # (विजुअल C # इंटरएक्टिव कंपाइलर) , 122 बाइट्स (121 वर्ण)

_=>@"
A
9;13) +!(# 0$(	-) 
4	(	€".SelectMany(j=>(j%2>0?"//":@"\\").PadLeft(j/4)+(j%4>1?"\n":""))

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

व्याख्या

लोगो का प्रत्येक भाग अंत में \\या //अंत में एक या तो एक नई रेखा के साथ या तो 0+ रिक्त स्थान है । इनमें से 52 हैं । हम तब प्रत्येक खंड को एक वर्ण में कूटबद्ध करते हैं:

  • प्रत्येक खंड में रिक्त स्थान की संख्या लें, फिर उस संख्या में 2 जोड़ दें।

  • बिट नंबर को बाईं ओर 2 बार स्थानांतरित करें।

  • यदि खंड के साथ समाप्त होता है //, तो बिट-वार या संख्या एक से।

  • यदि खंड एक नई रेखा के साथ समाप्त होता है, तो बिट-वार या संख्या दो से।

  • नंबर लो, और एक चार में डाल दो।

  • प्रत्येक खंड के लिए दोहराएं।

यहां सभी 52 सेगमेंट हैं और वे जो सांख्यिक मान हैं, वे इसमें शामिल हैं:

10,12,65,10,16,57,16,59,20,49,24,51,24,41,32,43,28,33,40,35,32,25,48,27,36,17,25,8,24,19,40,9,25,16,24,11,45,25,24,26,41,8,17,32,17,10,52,9,40,9,18,128

j>>2->j/4
केवल

124 । मुझे यह भी लगता है कि यदि आप URL को हैंड-क्राफ्ट करते हैं, तो आप अशक्त-बाइट्स डाल सकते हैं
ASCII-only

स्पष्टीकरण में: बिटशिफ्ट बाएं , दाएं नहीं। तार की सूची भी केवल तभी है जब आप प्रत्येक पंक्ति को अपनी स्ट्रिंग के रूप में लौटाते हैं ... आपको इसके string.Concatवैध होने के लिए यहां आवश्यकता होगी ...
ASCII-only

करीब , यह 143 है जबकि सामान्य 141 है
एएससीआईआई-केवल

@ ASCII- केवल मुझे यकीन है कि इस तरह से तार की एक सूची को वापस करने की अनुमति है, लेकिन मैं सिर्फ मामले में एक और समाधान जोड़ूंगा। हालाँकि, यह मान्य है: tio.run/##Sy7WTS7O/…
को अज्ञानता

0

सी (जीसीसी) , 144 140 139 बाइट्स

सीट्स के लिए -4 बाइट्स धन्यवाद ।

स्ट्रिंग में प्रत्येक वर्ण एक निश्चित स्ट्रिंग से पहले उपयोग करने के लिए कई रिक्त स्थान को एन्कोड करता है। यदि यह लोअर-केस लेटर (या बैकटिक) है, तो स्ट्रिंग "\" है, और अगर अपर-केस या @, तो यह "//" है। एक स्थान एक नई रेखा को दर्शाता है।

f(c,i){for(i=0;c="` aN` bLbL cJdJ dHfH eFhF fDjD gBD`dB h@Dbd@ IDdd H`BfB` k@h@b ~"[i++];)printf("%*s",c%32+2,c<33?"\n":c<96?"//":"\\\\");}

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

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