Tribute to Stan Lee











up vote
37
down vote

favorite
7












Unfortunately one of the greatest comic book writers passed away yesterday afternoon. Lots of Hollywood stars, musicians, actors, and many other people are paying tribute to this awesome writer, so we must do something as well.



Challenge



Print The Avengers Logo



Note: You may use any other character in place of # other than a space character; while you must use a space character for the space



enter image description here



In ASCII-art



              ######       
###############
##### ##########
#### ####### ####
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### ########### ###
### ########### ###
### #### ### ###
### ### ### ###
#### #### ####
######## ######
#################
###


Optional



Who was (in your opinion) his greatest hero and villain in the entire marvel universe?





Standard code-golf rules apply










share|improve this question




















  • 3




    What happened to the → in Ⓐ?
    – Adám
    Nov 13 at 20:00






  • 3




    @Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05






  • 38




    The second one is that I didnt know how to draw it :c
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05










  • Are the trailing spaces required?
    – Scoots
    2 days ago










  • @Scoots no, it is not required as long as your output looks the same
    – Luis felipe De jesus Munoz
    2 days ago















up vote
37
down vote

favorite
7












Unfortunately one of the greatest comic book writers passed away yesterday afternoon. Lots of Hollywood stars, musicians, actors, and many other people are paying tribute to this awesome writer, so we must do something as well.



Challenge



Print The Avengers Logo



Note: You may use any other character in place of # other than a space character; while you must use a space character for the space



enter image description here



In ASCII-art



              ######       
###############
##### ##########
#### ####### ####
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### ########### ###
### ########### ###
### #### ### ###
### ### ### ###
#### #### ####
######## ######
#################
###


Optional



Who was (in your opinion) his greatest hero and villain in the entire marvel universe?





Standard code-golf rules apply










share|improve this question




















  • 3




    What happened to the → in Ⓐ?
    – Adám
    Nov 13 at 20:00






  • 3




    @Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05






  • 38




    The second one is that I didnt know how to draw it :c
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05










  • Are the trailing spaces required?
    – Scoots
    2 days ago










  • @Scoots no, it is not required as long as your output looks the same
    – Luis felipe De jesus Munoz
    2 days ago













up vote
37
down vote

favorite
7









up vote
37
down vote

favorite
7






7





Unfortunately one of the greatest comic book writers passed away yesterday afternoon. Lots of Hollywood stars, musicians, actors, and many other people are paying tribute to this awesome writer, so we must do something as well.



Challenge



Print The Avengers Logo



Note: You may use any other character in place of # other than a space character; while you must use a space character for the space



enter image description here



In ASCII-art



              ######       
###############
##### ##########
#### ####### ####
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### ########### ###
### ########### ###
### #### ### ###
### ### ### ###
#### #### ####
######## ######
#################
###


Optional



Who was (in your opinion) his greatest hero and villain in the entire marvel universe?





Standard code-golf rules apply










share|improve this question















Unfortunately one of the greatest comic book writers passed away yesterday afternoon. Lots of Hollywood stars, musicians, actors, and many other people are paying tribute to this awesome writer, so we must do something as well.



Challenge



Print The Avengers Logo



Note: You may use any other character in place of # other than a space character; while you must use a space character for the space



enter image description here



In ASCII-art



              ######       
###############
##### ##########
#### ####### ####
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### #### ### ###
### ########### ###
### ########### ###
### #### ### ###
### ### ### ###
#### #### ####
######## ######
#################
###


Optional



Who was (in your opinion) his greatest hero and villain in the entire marvel universe?





Standard code-golf rules apply







code-golf ascii-art kolmogorov-complexity






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago

























asked Nov 13 at 17:46









Luis felipe De jesus Munoz

3,98911253




3,98911253








  • 3




    What happened to the → in Ⓐ?
    – Adám
    Nov 13 at 20:00






  • 3




    @Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05






  • 38




    The second one is that I didnt know how to draw it :c
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05










  • Are the trailing spaces required?
    – Scoots
    2 days ago










  • @Scoots no, it is not required as long as your output looks the same
    – Luis felipe De jesus Munoz
    2 days ago














  • 3




    What happened to the → in Ⓐ?
    – Adám
    Nov 13 at 20:00






  • 3




    @Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05






  • 38




    The second one is that I didnt know how to draw it :c
    – Luis felipe De jesus Munoz
    Nov 13 at 20:05










  • Are the trailing spaces required?
    – Scoots
    2 days ago










  • @Scoots no, it is not required as long as your output looks the same
    – Luis felipe De jesus Munoz
    2 days ago








3




3




What happened to the → in Ⓐ?
– Adám
Nov 13 at 20:00




What happened to the → in Ⓐ?
– Adám
Nov 13 at 20:00




3




3




@Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
– Luis felipe De jesus Munoz
Nov 13 at 20:05




@Adám 2 Reasons. I believe that the arrow means the continuation of the series (in this case the comics about avengers). Since Stan passed away there wont be a continuation of it (In my opinion, it is not the same without Stan). That is one of the reasons
– Luis felipe De jesus Munoz
Nov 13 at 20:05




38




38




The second one is that I didnt know how to draw it :c
– Luis felipe De jesus Munoz
Nov 13 at 20:05




The second one is that I didnt know how to draw it :c
– Luis felipe De jesus Munoz
Nov 13 at 20:05












Are the trailing spaces required?
– Scoots
2 days ago




Are the trailing spaces required?
– Scoots
2 days ago












@Scoots no, it is not required as long as your output looks the same
– Luis felipe De jesus Munoz
2 days ago




@Scoots no, it is not required as long as your output looks the same
– Luis felipe De jesus Munoz
2 days ago










21 Answers
21






active

oldest

votes

















up vote
22
down vote














Jelly, 62 59 58 bytes



“ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’b12ĖŒṙḂa⁶s27Y


Thanks to @JonathanAllan for golfing off 1 byte!



Try it online!



How it works



“ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’


is a bijective base-250 integer literal, which uses the characters in Jelly's code page as digits.



The literal encodes the integer $scriptsize 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163$, which b12 converts to duodecimal, yielding $scriptsize 30b620b40ba54a64771433841333139413468423468423467433467433466b466b465453465363431424b43896860ba3_{12}$.



There are some zeroes, because 14 spaces (e.g.) are encoded as 3 spaces, 0 hashes, and 11 spaces. This maintains the base small (the largest run consists of 17 hashes), without adding any additional logic to the decoder.



Ė (enumerate) prefixes every base-12 digit by its 1-based index, then Œṙ performs run-length decoding.



Now, for each integer in the resulting array, extracts the least significant bit, then a⁶ (AND space) replaces ones with spaces, while leaving zeroes unchanged.



Finally, s27 splits the unformatted character array into chunks of length 27, which Y separates by linefeeds.






share|improve this answer






























    up vote
    15
    down vote














    R, 198, 173, 163, 157, 144, 142 bytes





    write(rep(rep(c(' ',4),44),utf8ToInt("NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC")-64),1,27,,'')


    Try it online!



    Also R honors to the great Stan.



    Notes :




    • instead of the character # we've used the character 4 because saves 2 bytes and :


      • it's a reference to the Fantastic Four and/or the next Avengers 4 movie

      • it like we're repeating the logo inside the logo (since 4 seems a mini "slanted" A)



    • -15 bytes thanks to @Giuseppe


    Explanation :



    Applying a Run Length Encoding (rle function) on the characters of the string (excluding 'n') returns 88 repetitions of the alternating <space>,<hash>,<space>,<hash>,<space>,<hash>....



    The 88 repetitions are all values in the range [1,17] hence, summing 64 we get the code points of the letters [A...Q] obtaining the string : "NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC"



    Hence the code basically does the opposite operations :



    v <- utf8ToInt("NFMOJEDJFDGGADC...")-64  # convert the string back to [1...17] vector

    e <- rep(rep(c(' ',4),44),v) # perform the inverse of rle function obtaining an
    # expanded vector of <space>'s and <four>'s

    write(e,1,27,,'') # write the vector to stdout arranging it
    # in rows of maximum 27 characters





    share|improve this answer



















    • 1




      Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
      – J.Doe
      2 days ago












    • @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
      – digEmAll
      2 days ago












    • Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
      – Giuseppe
      2 days ago


















    up vote
    10
    down vote














    Canvas, 74 73 71 bytes



    qc2-Az↓n⁴╫m┬ff╷\_↘Tt)%⁵6>Yy7pQ∔I%SIŗ+T^≤?↔↖¶8^`O‾+O│≤n≡j↶82„2┬{ #@]∑‾+n


    Try it here!






    share|improve this answer























    • im just curious, how u guys type those chars? u have special keyboard or something?
      – Nikko Khresna
      8 hours ago










    • @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
      – dzaima
      8 hours ago


















    up vote
    10
    down vote














    Bubblegum, 71 66 65 64 bytes



    0000000: 95 91 21 12 00 20 08 c0 3a af 90 ff 7f 52 4e 58  ..!.. ..:....RNX
    0000010: 58 93 25 d8 8a 27 47 e4 23 66 01 2c ce b1 3c 12 X.%..'G.#f.,..<.
    0000020: 5f 5b 17 7c 81 ed 31 28 4e 6e a4 6d 23 ad 5b c2 _[.|..1(Nn.m#.[.
    0000030: ae 25 83 9a 94 1a 2f 6f 05 fc e5 f0 73 13 f9 0b .%..../o....s...


    Thanks to @ovs for golfing off 1 byte!



    Try it online!






    share|improve this answer























    • How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
      – Cowabunghole
      4 hours ago










    • @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
      – Dennis
      1 hour ago


















    up vote
    9
    down vote














    C (gcc), 244 243 bytes





    #define z <<10|117441415
    x={8064,2097088,8142832,31473596,58751886,30 z,60 z,60 z,120 z,120 z,255 z,255 z,480 z,448 z,63897630,33423612,2097136,1835008};b(_,i){i&&b(_/2,i-1),putchar(" #"[_%2]);}main(_){_<19&&b(x[_-1],27)&puts("")&main(_+1);}


    Try it online!



    -1 Thanks to Peter Cordes



    Uses bit compression.



    Explanation:



    The goal is to print a set of numbers in binary using space and # as digits which represent the logo. A bit of bash magic converts the logo to binary masks:



    echo "ibase=2;$(<code which echoes the logo [see my bash solution for example]> | tr ' #' 01)" | bc


    This results in the binary 'numbers' being:



    8064,2097088,8142832,31473596,58751886,117472135,117502855,117502855,117564295,117564295,117702535,117702535,117932935,117900167,63897630,33423612,2097136,1835008


    There is an obvious pattern in the middle where every line contains ### ### ###



    We can save some space by compressing that middle section based on saving that pattern and OR-ing against it. In addition, all of those lines merely add some stuff to the left of the middle section, so we make the z macro which takes ?????????????? and converts it into ###??????????????### ###. This involves bitshifting left by 10 and OR-ing with the binary of that pattern, which is 117441415.



    Now we can more easily understand the code:



    #define z <<10|117441415 // Define z to be the compression defined above
    x={ // Define x to be an array storing each line's number
    8064,2097088,8142832, // The first 5 lines are uncompressed
    31473596,58751886,
    30 z,60 z,60 z,120 z, // The middle 9 lines are z-compressed
    120 z,255 z,255 z,480 z,
    448 z,
    63897630,33423612, // The last 4 lines are uncompressed
    2097136,1835008};
    b(_,i){ // we also need a function to print n-bit binary numbers
    i&& // i is the bit counter, we recurse until its zero
    b(_/2,i-1), // each recursive call halves the input and decrements i
    putchar(" #"[_%2]);} // this just prints the correct character
    main(_){ // this is the main function, called as ./? will have 1 in _ (argc)
    _<19? // if _ is less than 19 then...
    b(x[_-1],27), // print the binary expansion of x[_-1]
    puts(""), // print a new line
    main(_+1) // recurse with _++
    :0;}





    share|improve this answer























    • Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
      – Peter Cordes
      Nov 13 at 21:18












    • It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
      – LambdaBeta
      Nov 13 at 21:51










    • I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
      – Peter Cordes
      Nov 13 at 21:56








    • 1




      Ahh, I see what you mean. You're right - that does work! -1 byte.
      – LambdaBeta
      Nov 13 at 21:59










    • You don't need the space between the macro and the definition.
      – Zacharý
      5 hours ago


















    up vote
    9
    down vote













    T-SQL, 341 338 bytes



    DECLARE @ CHAR(2000)=REPLACE(REPLACE(REPLACE(
    'PRINT SPACE(14*6&$6*15&$4*5$4*10&$2*4$7*7$1*4&$1*3$8*4$1*3$3*3&*3$9*4$1*3$4
    *3&*3$8*4$2*3$4*3&*3$8*4$2*3$4*3&*3$7*4$3*3$4*3&*3$7*4$3*3$4*3&*3$6*11$4*3&
    *3$6*11$4*3&*3$5*4$5*3$4*3&*3$5*3$6*3$4*3&$1*4$2*4$11*4&$2*8$9*6&$6*17&$6*3)'
    ,'*',')+REPLICATE(''#'','),'$',')+SPACE('),'&',')+(''
    ''')EXEC(@)


    The first 4 line breaks are for readability only, the final line break is part of a string literal.



    Similar to my Adam West tribute, I've manually encoded a long string, and made the following replacements:





    • *7 gets replaced by +REPLICATE('#',7)


    • $4 gets replaced by +SPACE(4)


    • & gets replaced by a line break inside quotes


    This results in a massive SQL command string:



    PRINT SPACE(14)+REPLICATE('#',6)+('
    ')+SPACE(6)+REPLICATE('#',15)+('
    ')+SPACE(4)+REPLICATE('#',5)+SPACE(4)+REPLICATE('#',10)+('
    ')+SPACE(2)+REPLICATE('#',4)+SPACE(7)+REPLICATE('#',7)+SPACE(1)+REPLICATE('#',4)+('
    ')+SPACE(1)+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(3)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(9)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',4)+SPACE(5)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
    ')+SPACE(1)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',4)+SPACE(11)+REPLICATE('#',4)+('
    ')+SPACE(2)+REPLICATE('#',8)+SPACE(9)+REPLICATE('#',6)+('
    ')+SPACE(6)+REPLICATE('#',17)+('
    ')+SPACE(6)+REPLICATE('#',3)


    Which, when run, produces the necessary output.



    Long, but still better than my best set-based solution (463 bytes):



    SELECT SPACE(a)+REPLICATE('#',b)+SPACE(c)+REPLICATE('#',d)
    +SPACE(e)+REPLICATE('#',f)+SPACE(g)+REPLICATE('#',h)
    FROM(VALUES(7,0,7,6,0,0,0,0),(6,8,0,7,0,0,0,0),(4,5,4,5,0,5,0,0),(2,4,7,7,1,4,0,0),
    (1,3,8,4,1,3,3,3),(0,3,9,4,1,3,4,3),(0,3,8,4,2,3,4,3),(0,3,8,4,2,3,4,3),
    (0,3,7,4,3,3,4,3),(0,3,7,4,3,3,4,3),(0,3,6,6,0,5,4,3),(0,3,6,6,0,5,4,3),
    (0,3,5,4,5,3,4,3),(0,3,5,3,6,3,4,3),(1,4,2,4,5,0,6,4),(2,8,9,6,0,0,0,0),
    (6,9,0,8,0,0,0,0),(6,3,0,0,0,0,0,0))t(a,b,c,d,e,f,g,h)





    share|improve this answer























    • can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
      – Shameen
      2 days ago






    • 1




      Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
      – BradC
      2 days ago




















    up vote
    9
    down vote














    Charcoal, 71 68 bytes



    P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶↘‖OM←←¹⁷↘F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»↘→UO³¦¹⁴UMKA#


    Try it online! Link is to verbose version of code. Explanation:



    P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶


    Output half of the circle.



    ↘‖OM←←¹⁷↘


    Reflect it and draw in the bottom.



    F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»


    Draw the left arm and crossbar of the A.



    ↘→UO³¦¹⁴


    Draw the right arm of the A.



    UMKA#


    Change all the characters to #s.






    share|improve this answer






























      up vote
      8
      down vote













      JavaScript (ES6), 173 170 bytes





      _=>`tc
      du
      9a9k
      58fe38
      36h83676
      6j83!h85!h85!f87!f87!dm96
      6dm96
      6b8b!b6d696
      3858n8
      5gjc
      dy
      d6`.split`!`.join`696
      6`.replace(/./g,c=>'# '[(k=parseInt(c,36))&1].repeat(k/2))


      Try it online!






      Node.js, 163 bytes



      Provided that an array of strings is a valid output:





      _=>Buffer(`.&-/*%$*&$''!$##($!###!#)$!#$&($"#$&($"#$&'$##$&'$##$&&+$&&+$&%$%#$&%#&#$#!$"$+$#()&(1*#2`).map(c=>s+='# '[x^=1].repeat(c-32),s=x='')&&s.match(/.{27}/g)


      Try it online!






      share|improve this answer






























        up vote
        8
        down vote













        Python 2, 129 bytes





        00000000: 2363 6f64 696e 673a 4c31 0a70 7269 6e74  #coding:L1.print
        00000010: 2778 da95 9141 0e5c 3021 0803 ef7d 4593 'x...A.!...}E.
        00000020: feff 8f9b 5d14 5c6e f1b0 f622 7422 2890 ....].n..."t"(.
        00000030: 2e7d 5a09 dc4b 19cb bc53 84d1 4a6a 5960 .}Z..K...S..JjY`
        00000040: 116e 3f42 c290 b3f7 c0bc 76cf 549d 6ed8 .n?B......v.T.n.
        00000050: f8fa 5f26 0b0e 8c93 d5cb 35f6 b1e7 a939 .._&......5....9
        00000060: 9e98 e769 47b9 87d6 cdf5 5c30 3030 32c0 ...iG.....002.
        00000070: 4029 272e 6465 636f 6465 2827 7a69 7027 @)'.decode('zip'
        00000080: 29 )


        Try it online!






        share|improve this answer























        • 129 bytes, I removed the trailing n from the compressed string.
          – ovs
          2 days ago


















        up vote
        7
        down vote














        ///, 170 bytes



        /+/////*/  +)/'$# +(/"$!+'/" +&/!#+%/"!
        !+$/*!+"/**+!/###/""('*
        (!!!'
        "&#"!!&"
        $#'$& &*
        !""& ! $
        !"'& !%""&$%""&$%)$%)$%(&#%(&#%'&'!%'!"$"!
        &$#")
        $&#"'!!*
        (!!&#"
        "$


        Try it online!






        share|improve this answer




























          up vote
          7
          down vote














          C (gcc), 174 168 164 bytes



          -6 bytes thanks to Dennis.





          i,j=88;main(l){while(j--)for(i="CJQHFIHCDKDBDACDCFCEFDCEDEFDKFFDKFFDCCDGFDCCDGFDCBDHFDCBDHFDCADICACCCADHCCDAGGDFJDEJOMFN"[j]-64;i;)putchar(l++%28?--i,35-j%2*3:10);}


          Try it online!






          share|improve this answer






























            up vote
            7
            down vote














            05AB1E, 101 88 64 bytes



            „# •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•12вεN>yи}˜èJ27ô»


            -24 bytes by creating a port of @Dennis♦' Jelly answer.



            Try it online.



            Explanation:





            „#                     # Push string "# "
            •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•
            '# Push compressed integer 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163
            12в # Convert to Base-12 as list: [3,0,11,6,2,0,11,4,0,11,10,5,4,10,6,4,7,7,1,4,3,3,8,4,1,3,3,3,1,3,9,4,1,3,4,6,8,4,2,3,4,6,8,4,2,3,4,6,7,4,3,3,4,6,7,4,3,3,4,6,6,11,4,6,6,11,4,6,5,4,5,3,4,6,5,3,6,3,4,3,1,4,2,4,11,4,3,8,9,6,8,6,0,11,10,3]
            ε } # Map each `y` to:
            N> # The index+1
            yи # Repeated `y` amount of times
            ˜ # Flatten the list
            è # Index each in the string "# " (with automatic wraparound)
            J # Join everything together
            27ô # Split into parts of length 27
            » # And join by newlines


            See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand how the compression of the integer and list works.






            share|improve this answer






























              up vote
              6
              down vote













              Haskell, 170 163 bytes



              Edit: -7 bytes thanks to @Ørjan Johansen



              m=<<"Mc Ul WeWg YdTgZa ZcSdZcX cRdZcW cSdYcW cSdYcW cTdXcW cTdXcW cUkW cUkW cVdVcW cVcUcW ZdYdPa YhRc Un U "
              m ' '="###n"
              m c=(' '<$['Z','Y'..c])++('#'<$['a'..c])


              Try it online!



              Spaces are encoded as uppercase characters (length: Z down to char), hash signs as lowercase characters (length: a to char) and the last three # of each line plus newline as a space. Function m decodes it.






              share|improve this answer



















              • 1




                I think you can save some by letting space encode "###n".
                – Ørjan Johansen
                2 days ago


















              up vote
              6
              down vote














              Bash, 192 176 bytes





              dc<<<"16i2o81C0000 81FFFF0 9FE00FC BCF001E F070387 F078387 F03FF87 F03FF87 F01E387 F01E387 F00F387 F00F387 F007B87 B807B8E 9E03FBC 87C3FF0 81FFFC0 8001F80f"|tr 01 ' #'|cut -c2-


              Try it online!



              -16 thanks to manatwork



              This is similar to my C answer, except it just uses a raw base-16 compression and passes it through bc, then uses tr to convert 1 to # and 0 to space. Each row has 1 appended to it and stripped off of it to maintain alignment.



              Unfortunately dc is shorter than bc.






              share|improve this answer























              • No need for ^. But even better, use cut -c2- instead of the sed part.
                – manatwork
                Nov 13 at 22:59












              • And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                – manatwork
                2 days ago






              • 2




                I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                – LambdaBeta
                2 days ago






              • 1




                134 bytes
                – Dennis
                2 days ago


















              up vote
              5
              down vote














              J, 130 128 bytes



              echo' #'{~18 27$;(_243{.2#.inv 92x#._32+a.i.])&>'!TYPW.ajz i8hIhXl''3lOH8GvV.C2Z{r/=,G';'"a*2ZDxRplkh2tzRakz.?ZwVmeOT6L^lFB^eyT'


              Try it online!



              Initial solution




              J, 164 bytes



              echo' #'{~18 27$,#:849239965469633263905532594449192007713271791872263657753301928240007 12380965417202148347902847903517734495157419855048834759608223758433386496x


              Try it online!






              share|improve this answer






























                up vote
                4
                down vote














                Perl 5, 181 bytes





                say+(sprintf"%28b",oct"0x$_")=~y/10/# /r for"0003f0003fff800f87fe03c07f78700f71ce00f70ee01e70ee01e70ee03c70ee03c70ee07ff0ee07ff0ee0f070ee0e070e79e003c3fc01f803fffe00380000"=~/.{7}/g


                Try it online!






                share|improve this answer




























                  up vote
                  4
                  down vote














                  Perl 6, 136 116 bytes





                  :100['>	b3V$^%&!U3X/_9-D>Z(+, OD_=D,-:&3S>#OL
                  8C"> c H'.ords].base(2)~~TR/1/ /.comb(27)>>.say


                  Try it online!



                  Parses a base 100 number from the ordinal values of the string, converts to base 2 and replaces the 1s with spaces. This uses zeroes as the main character.



                  Explanation:



                  :100['...'.ords]   # Convert the bytes of the string to base 100
                  .base(2) # Convert to base 2
                  ~~TR/1/ / # Translate 1s to spaces
                  # Alternatively, this could be .split(1)
                  .comb(27) # Split to strings of length 27
                  >>.say # Print each on a newline





                  share|improve this answer






























                    up vote
                    3
                    down vote













                    MATLAB : 144 Bytes



                    reshape(repelem([repmat(' #',1,44),' '],'NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJCR'-64),27,)'


                    Try it online! (Technically in Octave)



                    Explanation:



                    This uses the same strategy as digEmAll in R, just with MATLAB syntax. The main difference is that MATLAB has automatic conversion from characters to integers.






                    share|improve this answer










                    New contributor




                    Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                    Check out our Code of Conduct.

























                      up vote
                      3
                      down vote














                      PHP, 286 212 209 bytes





                      <?php foreach(str_split('000680018y4g04uj1s0iql6k0yz98u1xxu2v1xyhs71xyhs71xzt6v1xzt6v1y2ruv1y2ruv1y7pmv1y70cn121jq60jwdto018y5s013bwg',6)as $i)echo str_replace(0,' ',str_pad(base_convert($i,36,2),27,0,0))."
                      ";


                      Try it online!






                      share|improve this answer






























                        up vote
                        2
                        down vote














                        C# (.NET Core), 199 bytes





                        _=>{var r="";for(int i=0,j,k=0;i<88;i++)for(j=0;j++<"0(/1,'&,(&))#&%%*&#%%%#%+&#%&(*&$%&(*&$%&()&%%&()&%%&((-&((-&('&'%&('%(%&%#&$&-&%*+(*3,%"[i]-34;){r+=i%2<1?' ':'#';if(++k%27<1)r+='n';}return r;}


                        Try it online!



                        Uses the same approach as my solution to the tribute to Adam West.






                        share|improve this answer




























                          up vote
                          0
                          down vote













                          deflate, 79 bytes



                          eJyVkcsJADAIQ++ZIpD9dyxUqrGUgjlpHvglXdqCJymk1yEiaRXEIOXzuBHCiKObReUxUzYaMdt2wmTBg/FmNXndgLRbNvL7ifsLfMw6iQ==






                          share|improve this answer








                          New contributor




                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                          Check out our Code of Conduct.














                          • 6




                            You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                            – Jo King
                            2 days ago








                          • 3




                            I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                            – NobodyNada
                            2 days ago






                          • 2




                            This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                            – Dennis
                            2 days ago












                          • @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                            – Post Left Garf Hunter
                            yesterday











                          Your Answer





                          StackExchange.ifUsing("editor", function () {
                          return StackExchange.using("mathjaxEditing", function () {
                          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
                          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
                          });
                          });
                          }, "mathjax-editing");

                          StackExchange.ifUsing("editor", function () {
                          StackExchange.using("externalEditor", function () {
                          StackExchange.using("snippets", function () {
                          StackExchange.snippets.init();
                          });
                          });
                          }, "code-snippets");

                          StackExchange.ready(function() {
                          var channelOptions = {
                          tags: "".split(" "),
                          id: "200"
                          };
                          initTagRenderer("".split(" "), "".split(" "), channelOptions);

                          StackExchange.using("externalEditor", function() {
                          // Have to fire editor after snippets, if snippets enabled
                          if (StackExchange.settings.snippets.snippetsEnabled) {
                          StackExchange.using("snippets", function() {
                          createEditor();
                          });
                          }
                          else {
                          createEditor();
                          }
                          });

                          function createEditor() {
                          StackExchange.prepareEditor({
                          heartbeatType: 'answer',
                          convertImagesToLinks: false,
                          noModals: true,
                          showLowRepImageUploadWarning: true,
                          reputationToPostImages: null,
                          bindNavPrevention: true,
                          postfix: "",
                          imageUploader: {
                          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                          allowUrls: true
                          },
                          onDemand: true,
                          discardSelector: ".discard-answer"
                          ,immediatelyShowMarkdownHelp:true
                          });


                          }
                          });














                           

                          draft saved


                          draft discarded


















                          StackExchange.ready(
                          function () {
                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f175873%2ftribute-to-stan-lee%23new-answer', 'question_page');
                          }
                          );

                          Post as a guest















                          Required, but never shown

























                          21 Answers
                          21






                          active

                          oldest

                          votes








                          21 Answers
                          21






                          active

                          oldest

                          votes









                          active

                          oldest

                          votes






                          active

                          oldest

                          votes








                          up vote
                          22
                          down vote














                          Jelly, 62 59 58 bytes



                          “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’b12ĖŒṙḂa⁶s27Y


                          Thanks to @JonathanAllan for golfing off 1 byte!



                          Try it online!



                          How it works



                          “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’


                          is a bijective base-250 integer literal, which uses the characters in Jelly's code page as digits.



                          The literal encodes the integer $scriptsize 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163$, which b12 converts to duodecimal, yielding $scriptsize 30b620b40ba54a64771433841333139413468423468423467433467433466b466b465453465363431424b43896860ba3_{12}$.



                          There are some zeroes, because 14 spaces (e.g.) are encoded as 3 spaces, 0 hashes, and 11 spaces. This maintains the base small (the largest run consists of 17 hashes), without adding any additional logic to the decoder.



                          Ė (enumerate) prefixes every base-12 digit by its 1-based index, then Œṙ performs run-length decoding.



                          Now, for each integer in the resulting array, extracts the least significant bit, then a⁶ (AND space) replaces ones with spaces, while leaving zeroes unchanged.



                          Finally, s27 splits the unformatted character array into chunks of length 27, which Y separates by linefeeds.






                          share|improve this answer



























                            up vote
                            22
                            down vote














                            Jelly, 62 59 58 bytes



                            “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’b12ĖŒṙḂa⁶s27Y


                            Thanks to @JonathanAllan for golfing off 1 byte!



                            Try it online!



                            How it works



                            “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’


                            is a bijective base-250 integer literal, which uses the characters in Jelly's code page as digits.



                            The literal encodes the integer $scriptsize 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163$, which b12 converts to duodecimal, yielding $scriptsize 30b620b40ba54a64771433841333139413468423468423467433467433466b466b465453465363431424b43896860ba3_{12}$.



                            There are some zeroes, because 14 spaces (e.g.) are encoded as 3 spaces, 0 hashes, and 11 spaces. This maintains the base small (the largest run consists of 17 hashes), without adding any additional logic to the decoder.



                            Ė (enumerate) prefixes every base-12 digit by its 1-based index, then Œṙ performs run-length decoding.



                            Now, for each integer in the resulting array, extracts the least significant bit, then a⁶ (AND space) replaces ones with spaces, while leaving zeroes unchanged.



                            Finally, s27 splits the unformatted character array into chunks of length 27, which Y separates by linefeeds.






                            share|improve this answer

























                              up vote
                              22
                              down vote










                              up vote
                              22
                              down vote










                              Jelly, 62 59 58 bytes



                              “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’b12ĖŒṙḂa⁶s27Y


                              Thanks to @JonathanAllan for golfing off 1 byte!



                              Try it online!



                              How it works



                              “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’


                              is a bijective base-250 integer literal, which uses the characters in Jelly's code page as digits.



                              The literal encodes the integer $scriptsize 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163$, which b12 converts to duodecimal, yielding $scriptsize 30b620b40ba54a64771433841333139413468423468423467433467433466b466b465453465363431424b43896860ba3_{12}$.



                              There are some zeroes, because 14 spaces (e.g.) are encoded as 3 spaces, 0 hashes, and 11 spaces. This maintains the base small (the largest run consists of 17 hashes), without adding any additional logic to the decoder.



                              Ė (enumerate) prefixes every base-12 digit by its 1-based index, then Œṙ performs run-length decoding.



                              Now, for each integer in the resulting array, extracts the least significant bit, then a⁶ (AND space) replaces ones with spaces, while leaving zeroes unchanged.



                              Finally, s27 splits the unformatted character array into chunks of length 27, which Y separates by linefeeds.






                              share|improve this answer















                              Jelly, 62 59 58 bytes



                              “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’b12ĖŒṙḂa⁶s27Y


                              Thanks to @JonathanAllan for golfing off 1 byte!



                              Try it online!



                              How it works



                              “ḢE{ɠs{Ƒ0Ṇṁỵ8ỊṢṂƊeLṫfIWẈḞ'ʠJ£ṗɱçoȧ?ƒnØẆƥṂ⁷ɱ’


                              is a bijective base-250 integer literal, which uses the characters in Jelly's code page as digits.



                              The literal encodes the integer $scriptsize 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163$, which b12 converts to duodecimal, yielding $scriptsize 30b620b40ba54a64771433841333139413468423468423467433467433466b466b465453465363431424b43896860ba3_{12}$.



                              There are some zeroes, because 14 spaces (e.g.) are encoded as 3 spaces, 0 hashes, and 11 spaces. This maintains the base small (the largest run consists of 17 hashes), without adding any additional logic to the decoder.



                              Ė (enumerate) prefixes every base-12 digit by its 1-based index, then Œṙ performs run-length decoding.



                              Now, for each integer in the resulting array, extracts the least significant bit, then a⁶ (AND space) replaces ones with spaces, while leaving zeroes unchanged.



                              Finally, s27 splits the unformatted character array into chunks of length 27, which Y separates by linefeeds.







                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 2 days ago

























                              answered Nov 13 at 21:22









                              Dennis

                              184k32293729




                              184k32293729






















                                  up vote
                                  15
                                  down vote














                                  R, 198, 173, 163, 157, 144, 142 bytes





                                  write(rep(rep(c(' ',4),44),utf8ToInt("NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC")-64),1,27,,'')


                                  Try it online!



                                  Also R honors to the great Stan.



                                  Notes :




                                  • instead of the character # we've used the character 4 because saves 2 bytes and :


                                    • it's a reference to the Fantastic Four and/or the next Avengers 4 movie

                                    • it like we're repeating the logo inside the logo (since 4 seems a mini "slanted" A)



                                  • -15 bytes thanks to @Giuseppe


                                  Explanation :



                                  Applying a Run Length Encoding (rle function) on the characters of the string (excluding 'n') returns 88 repetitions of the alternating <space>,<hash>,<space>,<hash>,<space>,<hash>....



                                  The 88 repetitions are all values in the range [1,17] hence, summing 64 we get the code points of the letters [A...Q] obtaining the string : "NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC"



                                  Hence the code basically does the opposite operations :



                                  v <- utf8ToInt("NFMOJEDJFDGGADC...")-64  # convert the string back to [1...17] vector

                                  e <- rep(rep(c(' ',4),44),v) # perform the inverse of rle function obtaining an
                                  # expanded vector of <space>'s and <four>'s

                                  write(e,1,27,,'') # write the vector to stdout arranging it
                                  # in rows of maximum 27 characters





                                  share|improve this answer



















                                  • 1




                                    Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                    – J.Doe
                                    2 days ago












                                  • @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                    – digEmAll
                                    2 days ago












                                  • Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                    – Giuseppe
                                    2 days ago















                                  up vote
                                  15
                                  down vote














                                  R, 198, 173, 163, 157, 144, 142 bytes





                                  write(rep(rep(c(' ',4),44),utf8ToInt("NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC")-64),1,27,,'')


                                  Try it online!



                                  Also R honors to the great Stan.



                                  Notes :




                                  • instead of the character # we've used the character 4 because saves 2 bytes and :


                                    • it's a reference to the Fantastic Four and/or the next Avengers 4 movie

                                    • it like we're repeating the logo inside the logo (since 4 seems a mini "slanted" A)



                                  • -15 bytes thanks to @Giuseppe


                                  Explanation :



                                  Applying a Run Length Encoding (rle function) on the characters of the string (excluding 'n') returns 88 repetitions of the alternating <space>,<hash>,<space>,<hash>,<space>,<hash>....



                                  The 88 repetitions are all values in the range [1,17] hence, summing 64 we get the code points of the letters [A...Q] obtaining the string : "NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC"



                                  Hence the code basically does the opposite operations :



                                  v <- utf8ToInt("NFMOJEDJFDGGADC...")-64  # convert the string back to [1...17] vector

                                  e <- rep(rep(c(' ',4),44),v) # perform the inverse of rle function obtaining an
                                  # expanded vector of <space>'s and <four>'s

                                  write(e,1,27,,'') # write the vector to stdout arranging it
                                  # in rows of maximum 27 characters





                                  share|improve this answer



















                                  • 1




                                    Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                    – J.Doe
                                    2 days ago












                                  • @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                    – digEmAll
                                    2 days ago












                                  • Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                    – Giuseppe
                                    2 days ago













                                  up vote
                                  15
                                  down vote










                                  up vote
                                  15
                                  down vote










                                  R, 198, 173, 163, 157, 144, 142 bytes





                                  write(rep(rep(c(' ',4),44),utf8ToInt("NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC")-64),1,27,,'')


                                  Try it online!



                                  Also R honors to the great Stan.



                                  Notes :




                                  • instead of the character # we've used the character 4 because saves 2 bytes and :


                                    • it's a reference to the Fantastic Four and/or the next Avengers 4 movie

                                    • it like we're repeating the logo inside the logo (since 4 seems a mini "slanted" A)



                                  • -15 bytes thanks to @Giuseppe


                                  Explanation :



                                  Applying a Run Length Encoding (rle function) on the characters of the string (excluding 'n') returns 88 repetitions of the alternating <space>,<hash>,<space>,<hash>,<space>,<hash>....



                                  The 88 repetitions are all values in the range [1,17] hence, summing 64 we get the code points of the letters [A...Q] obtaining the string : "NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC"



                                  Hence the code basically does the opposite operations :



                                  v <- utf8ToInt("NFMOJEDJFDGGADC...")-64  # convert the string back to [1...17] vector

                                  e <- rep(rep(c(' ',4),44),v) # perform the inverse of rle function obtaining an
                                  # expanded vector of <space>'s and <four>'s

                                  write(e,1,27,,'') # write the vector to stdout arranging it
                                  # in rows of maximum 27 characters





                                  share|improve this answer















                                  R, 198, 173, 163, 157, 144, 142 bytes





                                  write(rep(rep(c(' ',4),44),utf8ToInt("NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC")-64),1,27,,'')


                                  Try it online!



                                  Also R honors to the great Stan.



                                  Notes :




                                  • instead of the character # we've used the character 4 because saves 2 bytes and :


                                    • it's a reference to the Fantastic Four and/or the next Avengers 4 movie

                                    • it like we're repeating the logo inside the logo (since 4 seems a mini "slanted" A)



                                  • -15 bytes thanks to @Giuseppe


                                  Explanation :



                                  Applying a Run Length Encoding (rle function) on the characters of the string (excluding 'n') returns 88 repetitions of the alternating <space>,<hash>,<space>,<hash>,<space>,<hash>....



                                  The 88 repetitions are all values in the range [1,17] hence, summing 64 we get the code points of the letters [A...Q] obtaining the string : "NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJC"



                                  Hence the code basically does the opposite operations :



                                  v <- utf8ToInt("NFMOJEDJFDGGADC...")-64  # convert the string back to [1...17] vector

                                  e <- rep(rep(c(' ',4),44),v) # perform the inverse of rle function obtaining an
                                  # expanded vector of <space>'s and <four>'s

                                  write(e,1,27,,'') # write the vector to stdout arranging it
                                  # in rows of maximum 27 characters






                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited yesterday

























                                  answered Nov 13 at 18:48









                                  digEmAll

                                  2,20148




                                  2,20148








                                  • 1




                                    Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                    – J.Doe
                                    2 days ago












                                  • @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                    – digEmAll
                                    2 days ago












                                  • Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                    – Giuseppe
                                    2 days ago














                                  • 1




                                    Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                    – J.Doe
                                    2 days ago












                                  • @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                    – digEmAll
                                    2 days ago












                                  • Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                    – Giuseppe
                                    2 days ago








                                  1




                                  1




                                  Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                  – J.Doe
                                  2 days ago






                                  Your solution is nicer, but your own gzip 2-parter gives 89+47 = 136 bytes.
                                  – J.Doe
                                  2 days ago














                                  @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                  – digEmAll
                                  2 days ago






                                  @J.Doe : ahah I even forgot to have used that approach! please post it as your own answer :)
                                  – digEmAll
                                  2 days ago














                                  Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                  – Giuseppe
                                  2 days ago




                                  Since we can use any character for #, using 0 in place of "#" should save 2 more bytes. @J.Doe that may work better for your gzip as well.
                                  – Giuseppe
                                  2 days ago










                                  up vote
                                  10
                                  down vote














                                  Canvas, 74 73 71 bytes



                                  qc2-Az↓n⁴╫m┬ff╷\_↘Tt)%⁵6>Yy7pQ∔I%SIŗ+T^≤?↔↖¶8^`O‾+O│≤n≡j↶82„2┬{ #@]∑‾+n


                                  Try it here!






                                  share|improve this answer























                                  • im just curious, how u guys type those chars? u have special keyboard or something?
                                    – Nikko Khresna
                                    8 hours ago










                                  • @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                    – dzaima
                                    8 hours ago















                                  up vote
                                  10
                                  down vote














                                  Canvas, 74 73 71 bytes



                                  qc2-Az↓n⁴╫m┬ff╷\_↘Tt)%⁵6>Yy7pQ∔I%SIŗ+T^≤?↔↖¶8^`O‾+O│≤n≡j↶82„2┬{ #@]∑‾+n


                                  Try it here!






                                  share|improve this answer























                                  • im just curious, how u guys type those chars? u have special keyboard or something?
                                    – Nikko Khresna
                                    8 hours ago










                                  • @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                    – dzaima
                                    8 hours ago













                                  up vote
                                  10
                                  down vote










                                  up vote
                                  10
                                  down vote










                                  Canvas, 74 73 71 bytes



                                  qc2-Az↓n⁴╫m┬ff╷\_↘Tt)%⁵6>Yy7pQ∔I%SIŗ+T^≤?↔↖¶8^`O‾+O│≤n≡j↶82„2┬{ #@]∑‾+n


                                  Try it here!






                                  share|improve this answer















                                  Canvas, 74 73 71 bytes



                                  qc2-Az↓n⁴╫m┬ff╷\_↘Tt)%⁵6>Yy7pQ∔I%SIŗ+T^≤?↔↖¶8^`O‾+O│≤n≡j↶82„2┬{ #@]∑‾+n


                                  Try it here!







                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited Nov 13 at 18:35

























                                  answered Nov 13 at 18:27









                                  dzaima

                                  14k21654




                                  14k21654












                                  • im just curious, how u guys type those chars? u have special keyboard or something?
                                    – Nikko Khresna
                                    8 hours ago










                                  • @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                    – dzaima
                                    8 hours ago


















                                  • im just curious, how u guys type those chars? u have special keyboard or something?
                                    – Nikko Khresna
                                    8 hours ago










                                  • @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                    – dzaima
                                    8 hours ago
















                                  im just curious, how u guys type those chars? u have special keyboard or something?
                                  – Nikko Khresna
                                  8 hours ago




                                  im just curious, how u guys type those chars? u have special keyboard or something?
                                  – Nikko Khresna
                                  8 hours ago












                                  @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                  – dzaima
                                  8 hours ago




                                  @NikkoKhresna 85% of my code is the data generated by a generator, but the last 11 bytes doing all the logic were typed in the Canvas dev mode and spamming of tab after every char. That's only the case for me & Canvas though, e.g. AFAIK all of Jellys chars are typable with linux compose sequences.
                                  – dzaima
                                  8 hours ago










                                  up vote
                                  10
                                  down vote














                                  Bubblegum, 71 66 65 64 bytes



                                  0000000: 95 91 21 12 00 20 08 c0 3a af 90 ff 7f 52 4e 58  ..!.. ..:....RNX
                                  0000010: 58 93 25 d8 8a 27 47 e4 23 66 01 2c ce b1 3c 12 X.%..'G.#f.,..<.
                                  0000020: 5f 5b 17 7c 81 ed 31 28 4e 6e a4 6d 23 ad 5b c2 _[.|..1(Nn.m#.[.
                                  0000030: ae 25 83 9a 94 1a 2f 6f 05 fc e5 f0 73 13 f9 0b .%..../o....s...


                                  Thanks to @ovs for golfing off 1 byte!



                                  Try it online!






                                  share|improve this answer























                                  • How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                    – Cowabunghole
                                    4 hours ago










                                  • @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                    – Dennis
                                    1 hour ago















                                  up vote
                                  10
                                  down vote














                                  Bubblegum, 71 66 65 64 bytes



                                  0000000: 95 91 21 12 00 20 08 c0 3a af 90 ff 7f 52 4e 58  ..!.. ..:....RNX
                                  0000010: 58 93 25 d8 8a 27 47 e4 23 66 01 2c ce b1 3c 12 X.%..'G.#f.,..<.
                                  0000020: 5f 5b 17 7c 81 ed 31 28 4e 6e a4 6d 23 ad 5b c2 _[.|..1(Nn.m#.[.
                                  0000030: ae 25 83 9a 94 1a 2f 6f 05 fc e5 f0 73 13 f9 0b .%..../o....s...


                                  Thanks to @ovs for golfing off 1 byte!



                                  Try it online!






                                  share|improve this answer























                                  • How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                    – Cowabunghole
                                    4 hours ago










                                  • @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                    – Dennis
                                    1 hour ago













                                  up vote
                                  10
                                  down vote










                                  up vote
                                  10
                                  down vote










                                  Bubblegum, 71 66 65 64 bytes



                                  0000000: 95 91 21 12 00 20 08 c0 3a af 90 ff 7f 52 4e 58  ..!.. ..:....RNX
                                  0000010: 58 93 25 d8 8a 27 47 e4 23 66 01 2c ce b1 3c 12 X.%..'G.#f.,..<.
                                  0000020: 5f 5b 17 7c 81 ed 31 28 4e 6e a4 6d 23 ad 5b c2 _[.|..1(Nn.m#.[.
                                  0000030: ae 25 83 9a 94 1a 2f 6f 05 fc e5 f0 73 13 f9 0b .%..../o....s...


                                  Thanks to @ovs for golfing off 1 byte!



                                  Try it online!






                                  share|improve this answer















                                  Bubblegum, 71 66 65 64 bytes



                                  0000000: 95 91 21 12 00 20 08 c0 3a af 90 ff 7f 52 4e 58  ..!.. ..:....RNX
                                  0000010: 58 93 25 d8 8a 27 47 e4 23 66 01 2c ce b1 3c 12 X.%..'G.#f.,..<.
                                  0000020: 5f 5b 17 7c 81 ed 31 28 4e 6e a4 6d 23 ad 5b c2 _[.|..1(Nn.m#.[.
                                  0000030: ae 25 83 9a 94 1a 2f 6f 05 fc e5 f0 73 13 f9 0b .%..../o....s...


                                  Thanks to @ovs for golfing off 1 byte!



                                  Try it online!







                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited 2 days ago

























                                  answered 2 days ago









                                  Dennis

                                  184k32293729




                                  184k32293729












                                  • How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                    – Cowabunghole
                                    4 hours ago










                                  • @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                    – Dennis
                                    1 hour ago


















                                  • How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                    – Cowabunghole
                                    4 hours ago










                                  • @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                    – Dennis
                                    1 hour ago
















                                  How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                  – Cowabunghole
                                  4 hours ago




                                  How exactly do you golf bytes off of Bubblegum? I assumed the strategy would be to try each compression algorithm and pick the one that compresses your input the most. Where do you go from there?
                                  – Cowabunghole
                                  4 hours ago












                                  @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                  – Dennis
                                  1 hour ago




                                  @Cowabunghole The first golf removed the trailing spaces, the second one increased the number of zopfli iterations (ovs's idea), and the last one switched from # to !.
                                  – Dennis
                                  1 hour ago










                                  up vote
                                  9
                                  down vote














                                  C (gcc), 244 243 bytes





                                  #define z <<10|117441415
                                  x={8064,2097088,8142832,31473596,58751886,30 z,60 z,60 z,120 z,120 z,255 z,255 z,480 z,448 z,63897630,33423612,2097136,1835008};b(_,i){i&&b(_/2,i-1),putchar(" #"[_%2]);}main(_){_<19&&b(x[_-1],27)&puts("")&main(_+1);}


                                  Try it online!



                                  -1 Thanks to Peter Cordes



                                  Uses bit compression.



                                  Explanation:



                                  The goal is to print a set of numbers in binary using space and # as digits which represent the logo. A bit of bash magic converts the logo to binary masks:



                                  echo "ibase=2;$(<code which echoes the logo [see my bash solution for example]> | tr ' #' 01)" | bc


                                  This results in the binary 'numbers' being:



                                  8064,2097088,8142832,31473596,58751886,117472135,117502855,117502855,117564295,117564295,117702535,117702535,117932935,117900167,63897630,33423612,2097136,1835008


                                  There is an obvious pattern in the middle where every line contains ### ### ###



                                  We can save some space by compressing that middle section based on saving that pattern and OR-ing against it. In addition, all of those lines merely add some stuff to the left of the middle section, so we make the z macro which takes ?????????????? and converts it into ###??????????????### ###. This involves bitshifting left by 10 and OR-ing with the binary of that pattern, which is 117441415.



                                  Now we can more easily understand the code:



                                  #define z <<10|117441415 // Define z to be the compression defined above
                                  x={ // Define x to be an array storing each line's number
                                  8064,2097088,8142832, // The first 5 lines are uncompressed
                                  31473596,58751886,
                                  30 z,60 z,60 z,120 z, // The middle 9 lines are z-compressed
                                  120 z,255 z,255 z,480 z,
                                  448 z,
                                  63897630,33423612, // The last 4 lines are uncompressed
                                  2097136,1835008};
                                  b(_,i){ // we also need a function to print n-bit binary numbers
                                  i&& // i is the bit counter, we recurse until its zero
                                  b(_/2,i-1), // each recursive call halves the input and decrements i
                                  putchar(" #"[_%2]);} // this just prints the correct character
                                  main(_){ // this is the main function, called as ./? will have 1 in _ (argc)
                                  _<19? // if _ is less than 19 then...
                                  b(x[_-1],27), // print the binary expansion of x[_-1]
                                  puts(""), // print a new line
                                  main(_+1) // recurse with _++
                                  :0;}





                                  share|improve this answer























                                  • Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                    – Peter Cordes
                                    Nov 13 at 21:18












                                  • It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                    – LambdaBeta
                                    Nov 13 at 21:51










                                  • I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                    – Peter Cordes
                                    Nov 13 at 21:56








                                  • 1




                                    Ahh, I see what you mean. You're right - that does work! -1 byte.
                                    – LambdaBeta
                                    Nov 13 at 21:59










                                  • You don't need the space between the macro and the definition.
                                    – Zacharý
                                    5 hours ago















                                  up vote
                                  9
                                  down vote














                                  C (gcc), 244 243 bytes





                                  #define z <<10|117441415
                                  x={8064,2097088,8142832,31473596,58751886,30 z,60 z,60 z,120 z,120 z,255 z,255 z,480 z,448 z,63897630,33423612,2097136,1835008};b(_,i){i&&b(_/2,i-1),putchar(" #"[_%2]);}main(_){_<19&&b(x[_-1],27)&puts("")&main(_+1);}


                                  Try it online!



                                  -1 Thanks to Peter Cordes



                                  Uses bit compression.



                                  Explanation:



                                  The goal is to print a set of numbers in binary using space and # as digits which represent the logo. A bit of bash magic converts the logo to binary masks:



                                  echo "ibase=2;$(<code which echoes the logo [see my bash solution for example]> | tr ' #' 01)" | bc


                                  This results in the binary 'numbers' being:



                                  8064,2097088,8142832,31473596,58751886,117472135,117502855,117502855,117564295,117564295,117702535,117702535,117932935,117900167,63897630,33423612,2097136,1835008


                                  There is an obvious pattern in the middle where every line contains ### ### ###



                                  We can save some space by compressing that middle section based on saving that pattern and OR-ing against it. In addition, all of those lines merely add some stuff to the left of the middle section, so we make the z macro which takes ?????????????? and converts it into ###??????????????### ###. This involves bitshifting left by 10 and OR-ing with the binary of that pattern, which is 117441415.



                                  Now we can more easily understand the code:



                                  #define z <<10|117441415 // Define z to be the compression defined above
                                  x={ // Define x to be an array storing each line's number
                                  8064,2097088,8142832, // The first 5 lines are uncompressed
                                  31473596,58751886,
                                  30 z,60 z,60 z,120 z, // The middle 9 lines are z-compressed
                                  120 z,255 z,255 z,480 z,
                                  448 z,
                                  63897630,33423612, // The last 4 lines are uncompressed
                                  2097136,1835008};
                                  b(_,i){ // we also need a function to print n-bit binary numbers
                                  i&& // i is the bit counter, we recurse until its zero
                                  b(_/2,i-1), // each recursive call halves the input and decrements i
                                  putchar(" #"[_%2]);} // this just prints the correct character
                                  main(_){ // this is the main function, called as ./? will have 1 in _ (argc)
                                  _<19? // if _ is less than 19 then...
                                  b(x[_-1],27), // print the binary expansion of x[_-1]
                                  puts(""), // print a new line
                                  main(_+1) // recurse with _++
                                  :0;}





                                  share|improve this answer























                                  • Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                    – Peter Cordes
                                    Nov 13 at 21:18












                                  • It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                    – LambdaBeta
                                    Nov 13 at 21:51










                                  • I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                    – Peter Cordes
                                    Nov 13 at 21:56








                                  • 1




                                    Ahh, I see what you mean. You're right - that does work! -1 byte.
                                    – LambdaBeta
                                    Nov 13 at 21:59










                                  • You don't need the space between the macro and the definition.
                                    – Zacharý
                                    5 hours ago













                                  up vote
                                  9
                                  down vote










                                  up vote
                                  9
                                  down vote










                                  C (gcc), 244 243 bytes





                                  #define z <<10|117441415
                                  x={8064,2097088,8142832,31473596,58751886,30 z,60 z,60 z,120 z,120 z,255 z,255 z,480 z,448 z,63897630,33423612,2097136,1835008};b(_,i){i&&b(_/2,i-1),putchar(" #"[_%2]);}main(_){_<19&&b(x[_-1],27)&puts("")&main(_+1);}


                                  Try it online!



                                  -1 Thanks to Peter Cordes



                                  Uses bit compression.



                                  Explanation:



                                  The goal is to print a set of numbers in binary using space and # as digits which represent the logo. A bit of bash magic converts the logo to binary masks:



                                  echo "ibase=2;$(<code which echoes the logo [see my bash solution for example]> | tr ' #' 01)" | bc


                                  This results in the binary 'numbers' being:



                                  8064,2097088,8142832,31473596,58751886,117472135,117502855,117502855,117564295,117564295,117702535,117702535,117932935,117900167,63897630,33423612,2097136,1835008


                                  There is an obvious pattern in the middle where every line contains ### ### ###



                                  We can save some space by compressing that middle section based on saving that pattern and OR-ing against it. In addition, all of those lines merely add some stuff to the left of the middle section, so we make the z macro which takes ?????????????? and converts it into ###??????????????### ###. This involves bitshifting left by 10 and OR-ing with the binary of that pattern, which is 117441415.



                                  Now we can more easily understand the code:



                                  #define z <<10|117441415 // Define z to be the compression defined above
                                  x={ // Define x to be an array storing each line's number
                                  8064,2097088,8142832, // The first 5 lines are uncompressed
                                  31473596,58751886,
                                  30 z,60 z,60 z,120 z, // The middle 9 lines are z-compressed
                                  120 z,255 z,255 z,480 z,
                                  448 z,
                                  63897630,33423612, // The last 4 lines are uncompressed
                                  2097136,1835008};
                                  b(_,i){ // we also need a function to print n-bit binary numbers
                                  i&& // i is the bit counter, we recurse until its zero
                                  b(_/2,i-1), // each recursive call halves the input and decrements i
                                  putchar(" #"[_%2]);} // this just prints the correct character
                                  main(_){ // this is the main function, called as ./? will have 1 in _ (argc)
                                  _<19? // if _ is less than 19 then...
                                  b(x[_-1],27), // print the binary expansion of x[_-1]
                                  puts(""), // print a new line
                                  main(_+1) // recurse with _++
                                  :0;}





                                  share|improve this answer















                                  C (gcc), 244 243 bytes





                                  #define z <<10|117441415
                                  x={8064,2097088,8142832,31473596,58751886,30 z,60 z,60 z,120 z,120 z,255 z,255 z,480 z,448 z,63897630,33423612,2097136,1835008};b(_,i){i&&b(_/2,i-1),putchar(" #"[_%2]);}main(_){_<19&&b(x[_-1],27)&puts("")&main(_+1);}


                                  Try it online!



                                  -1 Thanks to Peter Cordes



                                  Uses bit compression.



                                  Explanation:



                                  The goal is to print a set of numbers in binary using space and # as digits which represent the logo. A bit of bash magic converts the logo to binary masks:



                                  echo "ibase=2;$(<code which echoes the logo [see my bash solution for example]> | tr ' #' 01)" | bc


                                  This results in the binary 'numbers' being:



                                  8064,2097088,8142832,31473596,58751886,117472135,117502855,117502855,117564295,117564295,117702535,117702535,117932935,117900167,63897630,33423612,2097136,1835008


                                  There is an obvious pattern in the middle where every line contains ### ### ###



                                  We can save some space by compressing that middle section based on saving that pattern and OR-ing against it. In addition, all of those lines merely add some stuff to the left of the middle section, so we make the z macro which takes ?????????????? and converts it into ###??????????????### ###. This involves bitshifting left by 10 and OR-ing with the binary of that pattern, which is 117441415.



                                  Now we can more easily understand the code:



                                  #define z <<10|117441415 // Define z to be the compression defined above
                                  x={ // Define x to be an array storing each line's number
                                  8064,2097088,8142832, // The first 5 lines are uncompressed
                                  31473596,58751886,
                                  30 z,60 z,60 z,120 z, // The middle 9 lines are z-compressed
                                  120 z,255 z,255 z,480 z,
                                  448 z,
                                  63897630,33423612, // The last 4 lines are uncompressed
                                  2097136,1835008};
                                  b(_,i){ // we also need a function to print n-bit binary numbers
                                  i&& // i is the bit counter, we recurse until its zero
                                  b(_/2,i-1), // each recursive call halves the input and decrements i
                                  putchar(" #"[_%2]);} // this just prints the correct character
                                  main(_){ // this is the main function, called as ./? will have 1 in _ (argc)
                                  _<19? // if _ is less than 19 then...
                                  b(x[_-1],27), // print the binary expansion of x[_-1]
                                  puts(""), // print a new line
                                  main(_+1) // recurse with _++
                                  :0;}






                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited Nov 13 at 21:59

























                                  answered Nov 13 at 20:58









                                  LambdaBeta

                                  1,989416




                                  1,989416












                                  • Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                    – Peter Cordes
                                    Nov 13 at 21:18












                                  • It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                    – LambdaBeta
                                    Nov 13 at 21:51










                                  • I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                    – Peter Cordes
                                    Nov 13 at 21:56








                                  • 1




                                    Ahh, I see what you mean. You're right - that does work! -1 byte.
                                    – LambdaBeta
                                    Nov 13 at 21:59










                                  • You don't need the space between the macro and the definition.
                                    – Zacharý
                                    5 hours ago


















                                  • Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                    – Peter Cordes
                                    Nov 13 at 21:18












                                  • It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                    – LambdaBeta
                                    Nov 13 at 21:51










                                  • I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                    – Peter Cordes
                                    Nov 13 at 21:56








                                  • 1




                                    Ahh, I see what you mean. You're right - that does work! -1 byte.
                                    – LambdaBeta
                                    Nov 13 at 21:59










                                  • You don't need the space between the macro and the definition.
                                    – Zacharý
                                    5 hours ago
















                                  Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                  – Peter Cordes
                                  Nov 13 at 21:18






                                  Can x?y:0 be replaced with x&&y, or does operator precedence not work? Maybe with & instead of , separating the 3 function calls because & has higher precedence than && or , (en.cppreference.com/w/c/language/operator_precedence). Or not because only , provides a sequence point for the printing vs. recursion to avoid undefined behaviour.
                                  – Peter Cordes
                                  Nov 13 at 21:18














                                  It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                  – LambdaBeta
                                  Nov 13 at 21:51




                                  It doesn't work with && indeed because of the precedence, while & doesn't short-circuit. As of yet I haven't found a shorter alternative, though I wouldn't rule one out.
                                  – LambdaBeta
                                  Nov 13 at 21:51












                                  I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                  – Peter Cordes
                                  Nov 13 at 21:56






                                  I meant with & or | or ^ replacing , (because they don't short-circuit) and && replacing ? (because it does). Like _<19 && b() & puts() & main(_+1); (spaces added for readability). The order of evaluation is undefined, which may actually undefined behaviour because of unsequenced side-effects on stdout en.cppreference.com/w/c/language/eval_order, but in practice any given compiler will pick some order for a given set of target + options.
                                  – Peter Cordes
                                  Nov 13 at 21:56






                                  1




                                  1




                                  Ahh, I see what you mean. You're right - that does work! -1 byte.
                                  – LambdaBeta
                                  Nov 13 at 21:59




                                  Ahh, I see what you mean. You're right - that does work! -1 byte.
                                  – LambdaBeta
                                  Nov 13 at 21:59












                                  You don't need the space between the macro and the definition.
                                  – Zacharý
                                  5 hours ago




                                  You don't need the space between the macro and the definition.
                                  – Zacharý
                                  5 hours ago










                                  up vote
                                  9
                                  down vote













                                  T-SQL, 341 338 bytes



                                  DECLARE @ CHAR(2000)=REPLACE(REPLACE(REPLACE(
                                  'PRINT SPACE(14*6&$6*15&$4*5$4*10&$2*4$7*7$1*4&$1*3$8*4$1*3$3*3&*3$9*4$1*3$4
                                  *3&*3$8*4$2*3$4*3&*3$8*4$2*3$4*3&*3$7*4$3*3$4*3&*3$7*4$3*3$4*3&*3$6*11$4*3&
                                  *3$6*11$4*3&*3$5*4$5*3$4*3&*3$5*3$6*3$4*3&$1*4$2*4$11*4&$2*8$9*6&$6*17&$6*3)'
                                  ,'*',')+REPLICATE(''#'','),'$',')+SPACE('),'&',')+(''
                                  ''')EXEC(@)


                                  The first 4 line breaks are for readability only, the final line break is part of a string literal.



                                  Similar to my Adam West tribute, I've manually encoded a long string, and made the following replacements:





                                  • *7 gets replaced by +REPLICATE('#',7)


                                  • $4 gets replaced by +SPACE(4)


                                  • & gets replaced by a line break inside quotes


                                  This results in a massive SQL command string:



                                  PRINT SPACE(14)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',15)+('
                                  ')+SPACE(4)+REPLICATE('#',5)+SPACE(4)+REPLICATE('#',10)+('
                                  ')+SPACE(2)+REPLICATE('#',4)+SPACE(7)+REPLICATE('#',7)+SPACE(1)+REPLICATE('#',4)+('
                                  ')+SPACE(1)+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(3)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(9)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',4)+SPACE(5)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+SPACE(1)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',4)+SPACE(11)+REPLICATE('#',4)+('
                                  ')+SPACE(2)+REPLICATE('#',8)+SPACE(9)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',17)+('
                                  ')+SPACE(6)+REPLICATE('#',3)


                                  Which, when run, produces the necessary output.



                                  Long, but still better than my best set-based solution (463 bytes):



                                  SELECT SPACE(a)+REPLICATE('#',b)+SPACE(c)+REPLICATE('#',d)
                                  +SPACE(e)+REPLICATE('#',f)+SPACE(g)+REPLICATE('#',h)
                                  FROM(VALUES(7,0,7,6,0,0,0,0),(6,8,0,7,0,0,0,0),(4,5,4,5,0,5,0,0),(2,4,7,7,1,4,0,0),
                                  (1,3,8,4,1,3,3,3),(0,3,9,4,1,3,4,3),(0,3,8,4,2,3,4,3),(0,3,8,4,2,3,4,3),
                                  (0,3,7,4,3,3,4,3),(0,3,7,4,3,3,4,3),(0,3,6,6,0,5,4,3),(0,3,6,6,0,5,4,3),
                                  (0,3,5,4,5,3,4,3),(0,3,5,3,6,3,4,3),(1,4,2,4,5,0,6,4),(2,8,9,6,0,0,0,0),
                                  (6,9,0,8,0,0,0,0),(6,3,0,0,0,0,0,0))t(a,b,c,d,e,f,g,h)





                                  share|improve this answer























                                  • can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                    – Shameen
                                    2 days ago






                                  • 1




                                    Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                    – BradC
                                    2 days ago

















                                  up vote
                                  9
                                  down vote













                                  T-SQL, 341 338 bytes



                                  DECLARE @ CHAR(2000)=REPLACE(REPLACE(REPLACE(
                                  'PRINT SPACE(14*6&$6*15&$4*5$4*10&$2*4$7*7$1*4&$1*3$8*4$1*3$3*3&*3$9*4$1*3$4
                                  *3&*3$8*4$2*3$4*3&*3$8*4$2*3$4*3&*3$7*4$3*3$4*3&*3$7*4$3*3$4*3&*3$6*11$4*3&
                                  *3$6*11$4*3&*3$5*4$5*3$4*3&*3$5*3$6*3$4*3&$1*4$2*4$11*4&$2*8$9*6&$6*17&$6*3)'
                                  ,'*',')+REPLICATE(''#'','),'$',')+SPACE('),'&',')+(''
                                  ''')EXEC(@)


                                  The first 4 line breaks are for readability only, the final line break is part of a string literal.



                                  Similar to my Adam West tribute, I've manually encoded a long string, and made the following replacements:





                                  • *7 gets replaced by +REPLICATE('#',7)


                                  • $4 gets replaced by +SPACE(4)


                                  • & gets replaced by a line break inside quotes


                                  This results in a massive SQL command string:



                                  PRINT SPACE(14)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',15)+('
                                  ')+SPACE(4)+REPLICATE('#',5)+SPACE(4)+REPLICATE('#',10)+('
                                  ')+SPACE(2)+REPLICATE('#',4)+SPACE(7)+REPLICATE('#',7)+SPACE(1)+REPLICATE('#',4)+('
                                  ')+SPACE(1)+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(3)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(9)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',4)+SPACE(5)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+SPACE(1)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',4)+SPACE(11)+REPLICATE('#',4)+('
                                  ')+SPACE(2)+REPLICATE('#',8)+SPACE(9)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',17)+('
                                  ')+SPACE(6)+REPLICATE('#',3)


                                  Which, when run, produces the necessary output.



                                  Long, but still better than my best set-based solution (463 bytes):



                                  SELECT SPACE(a)+REPLICATE('#',b)+SPACE(c)+REPLICATE('#',d)
                                  +SPACE(e)+REPLICATE('#',f)+SPACE(g)+REPLICATE('#',h)
                                  FROM(VALUES(7,0,7,6,0,0,0,0),(6,8,0,7,0,0,0,0),(4,5,4,5,0,5,0,0),(2,4,7,7,1,4,0,0),
                                  (1,3,8,4,1,3,3,3),(0,3,9,4,1,3,4,3),(0,3,8,4,2,3,4,3),(0,3,8,4,2,3,4,3),
                                  (0,3,7,4,3,3,4,3),(0,3,7,4,3,3,4,3),(0,3,6,6,0,5,4,3),(0,3,6,6,0,5,4,3),
                                  (0,3,5,4,5,3,4,3),(0,3,5,3,6,3,4,3),(1,4,2,4,5,0,6,4),(2,8,9,6,0,0,0,0),
                                  (6,9,0,8,0,0,0,0),(6,3,0,0,0,0,0,0))t(a,b,c,d,e,f,g,h)





                                  share|improve this answer























                                  • can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                    – Shameen
                                    2 days ago






                                  • 1




                                    Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                    – BradC
                                    2 days ago















                                  up vote
                                  9
                                  down vote










                                  up vote
                                  9
                                  down vote









                                  T-SQL, 341 338 bytes



                                  DECLARE @ CHAR(2000)=REPLACE(REPLACE(REPLACE(
                                  'PRINT SPACE(14*6&$6*15&$4*5$4*10&$2*4$7*7$1*4&$1*3$8*4$1*3$3*3&*3$9*4$1*3$4
                                  *3&*3$8*4$2*3$4*3&*3$8*4$2*3$4*3&*3$7*4$3*3$4*3&*3$7*4$3*3$4*3&*3$6*11$4*3&
                                  *3$6*11$4*3&*3$5*4$5*3$4*3&*3$5*3$6*3$4*3&$1*4$2*4$11*4&$2*8$9*6&$6*17&$6*3)'
                                  ,'*',')+REPLICATE(''#'','),'$',')+SPACE('),'&',')+(''
                                  ''')EXEC(@)


                                  The first 4 line breaks are for readability only, the final line break is part of a string literal.



                                  Similar to my Adam West tribute, I've manually encoded a long string, and made the following replacements:





                                  • *7 gets replaced by +REPLICATE('#',7)


                                  • $4 gets replaced by +SPACE(4)


                                  • & gets replaced by a line break inside quotes


                                  This results in a massive SQL command string:



                                  PRINT SPACE(14)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',15)+('
                                  ')+SPACE(4)+REPLICATE('#',5)+SPACE(4)+REPLICATE('#',10)+('
                                  ')+SPACE(2)+REPLICATE('#',4)+SPACE(7)+REPLICATE('#',7)+SPACE(1)+REPLICATE('#',4)+('
                                  ')+SPACE(1)+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(3)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(9)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',4)+SPACE(5)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+SPACE(1)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',4)+SPACE(11)+REPLICATE('#',4)+('
                                  ')+SPACE(2)+REPLICATE('#',8)+SPACE(9)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',17)+('
                                  ')+SPACE(6)+REPLICATE('#',3)


                                  Which, when run, produces the necessary output.



                                  Long, but still better than my best set-based solution (463 bytes):



                                  SELECT SPACE(a)+REPLICATE('#',b)+SPACE(c)+REPLICATE('#',d)
                                  +SPACE(e)+REPLICATE('#',f)+SPACE(g)+REPLICATE('#',h)
                                  FROM(VALUES(7,0,7,6,0,0,0,0),(6,8,0,7,0,0,0,0),(4,5,4,5,0,5,0,0),(2,4,7,7,1,4,0,0),
                                  (1,3,8,4,1,3,3,3),(0,3,9,4,1,3,4,3),(0,3,8,4,2,3,4,3),(0,3,8,4,2,3,4,3),
                                  (0,3,7,4,3,3,4,3),(0,3,7,4,3,3,4,3),(0,3,6,6,0,5,4,3),(0,3,6,6,0,5,4,3),
                                  (0,3,5,4,5,3,4,3),(0,3,5,3,6,3,4,3),(1,4,2,4,5,0,6,4),(2,8,9,6,0,0,0,0),
                                  (6,9,0,8,0,0,0,0),(6,3,0,0,0,0,0,0))t(a,b,c,d,e,f,g,h)





                                  share|improve this answer














                                  T-SQL, 341 338 bytes



                                  DECLARE @ CHAR(2000)=REPLACE(REPLACE(REPLACE(
                                  'PRINT SPACE(14*6&$6*15&$4*5$4*10&$2*4$7*7$1*4&$1*3$8*4$1*3$3*3&*3$9*4$1*3$4
                                  *3&*3$8*4$2*3$4*3&*3$8*4$2*3$4*3&*3$7*4$3*3$4*3&*3$7*4$3*3$4*3&*3$6*11$4*3&
                                  *3$6*11$4*3&*3$5*4$5*3$4*3&*3$5*3$6*3$4*3&$1*4$2*4$11*4&$2*8$9*6&$6*17&$6*3)'
                                  ,'*',')+REPLICATE(''#'','),'$',')+SPACE('),'&',')+(''
                                  ''')EXEC(@)


                                  The first 4 line breaks are for readability only, the final line break is part of a string literal.



                                  Similar to my Adam West tribute, I've manually encoded a long string, and made the following replacements:





                                  • *7 gets replaced by +REPLICATE('#',7)


                                  • $4 gets replaced by +SPACE(4)


                                  • & gets replaced by a line break inside quotes


                                  This results in a massive SQL command string:



                                  PRINT SPACE(14)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',15)+('
                                  ')+SPACE(4)+REPLICATE('#',5)+SPACE(4)+REPLICATE('#',10)+('
                                  ')+SPACE(2)+REPLICATE('#',4)+SPACE(7)+REPLICATE('#',7)+SPACE(1)+REPLICATE('#',4)+('
                                  ')+SPACE(1)+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(3)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(9)+REPLICATE('#',4)+SPACE(1)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(8)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(7)+REPLICATE('#',4)+SPACE(3)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',11)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',4)+SPACE(5)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+REPLICATE('#',3)+SPACE(5)+REPLICATE('#',3)+SPACE(6)+REPLICATE('#',3)+SPACE(4)+REPLICATE('#',3)+('
                                  ')+SPACE(1)+REPLICATE('#',4)+SPACE(2)+REPLICATE('#',4)+SPACE(11)+REPLICATE('#',4)+('
                                  ')+SPACE(2)+REPLICATE('#',8)+SPACE(9)+REPLICATE('#',6)+('
                                  ')+SPACE(6)+REPLICATE('#',17)+('
                                  ')+SPACE(6)+REPLICATE('#',3)


                                  Which, when run, produces the necessary output.



                                  Long, but still better than my best set-based solution (463 bytes):



                                  SELECT SPACE(a)+REPLICATE('#',b)+SPACE(c)+REPLICATE('#',d)
                                  +SPACE(e)+REPLICATE('#',f)+SPACE(g)+REPLICATE('#',h)
                                  FROM(VALUES(7,0,7,6,0,0,0,0),(6,8,0,7,0,0,0,0),(4,5,4,5,0,5,0,0),(2,4,7,7,1,4,0,0),
                                  (1,3,8,4,1,3,3,3),(0,3,9,4,1,3,4,3),(0,3,8,4,2,3,4,3),(0,3,8,4,2,3,4,3),
                                  (0,3,7,4,3,3,4,3),(0,3,7,4,3,3,4,3),(0,3,6,6,0,5,4,3),(0,3,6,6,0,5,4,3),
                                  (0,3,5,4,5,3,4,3),(0,3,5,3,6,3,4,3),(1,4,2,4,5,0,6,4),(2,8,9,6,0,0,0,0),
                                  (6,9,0,8,0,0,0,0),(6,3,0,0,0,0,0,0))t(a,b,c,d,e,f,g,h)






                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited 2 days ago

























                                  answered 2 days ago









                                  BradC

                                  3,544521




                                  3,544521












                                  • can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                    – Shameen
                                    2 days ago






                                  • 1




                                    Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                    – BradC
                                    2 days ago




















                                  • can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                    – Shameen
                                    2 days ago






                                  • 1




                                    Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                    – BradC
                                    2 days ago


















                                  can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                  – Shameen
                                  2 days ago




                                  can drop 2 chars using CHAR(8000) instead of VARCHAR(max) (the huge command is 1453 bytes)
                                  – Shameen
                                  2 days ago




                                  1




                                  1




                                  Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                  – BradC
                                  2 days ago






                                  Thanks, @Shameen. I tried to save one more and use CHAR(2E3) but it didn't seem to like that. I also saved a byte by using a line break literal instead of CHAR(13).
                                  – BradC
                                  2 days ago












                                  up vote
                                  9
                                  down vote














                                  Charcoal, 71 68 bytes



                                  P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶↘‖OM←←¹⁷↘F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»↘→UO³¦¹⁴UMKA#


                                  Try it online! Link is to verbose version of code. Explanation:



                                  P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶


                                  Output half of the circle.



                                  ↘‖OM←←¹⁷↘


                                  Reflect it and draw in the bottom.



                                  F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»


                                  Draw the left arm and crossbar of the A.



                                  ↘→UO³¦¹⁴


                                  Draw the right arm of the A.



                                  UMKA#


                                  Change all the characters to #s.






                                  share|improve this answer



























                                    up vote
                                    9
                                    down vote














                                    Charcoal, 71 68 bytes



                                    P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶↘‖OM←←¹⁷↘F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»↘→UO³¦¹⁴UMKA#


                                    Try it online! Link is to verbose version of code. Explanation:



                                    P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶


                                    Output half of the circle.



                                    ↘‖OM←←¹⁷↘


                                    Reflect it and draw in the bottom.



                                    F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»


                                    Draw the left arm and crossbar of the A.



                                    ↘→UO³¦¹⁴


                                    Draw the right arm of the A.



                                    UMKA#


                                    Change all the characters to #s.






                                    share|improve this answer

























                                      up vote
                                      9
                                      down vote










                                      up vote
                                      9
                                      down vote










                                      Charcoal, 71 68 bytes



                                      P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶↘‖OM←←¹⁷↘F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»↘→UO³¦¹⁴UMKA#


                                      Try it online! Link is to verbose version of code. Explanation:



                                      P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶


                                      Output half of the circle.



                                      ↘‖OM←←¹⁷↘


                                      Reflect it and draw in the bottom.



                                      F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»


                                      Draw the left arm and crossbar of the A.



                                      ↘→UO³¦¹⁴


                                      Draw the right arm of the A.



                                      UMKA#


                                      Change all the characters to #s.






                                      share|improve this answer















                                      Charcoal, 71 68 bytes



                                      P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶↘‖OM←←¹⁷↘F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»↘→UO³¦¹⁴UMKA#


                                      Try it online! Link is to verbose version of code. Explanation:



                                      P⁸↓P-³↙←⁴↓P³↙F⁹⟦³⟧→P⁴↘P⁶


                                      Output half of the circle.



                                      ↘‖OM←←¹⁷↘


                                      Reflect it and draw in the bottom.



                                      F⁹«P⁺³›ι³↑P⁴↗¿⁼ι²B⁸±²»


                                      Draw the left arm and crossbar of the A.



                                      ↘→UO³¦¹⁴


                                      Draw the right arm of the A.



                                      UMKA#


                                      Change all the characters to #s.







                                      share|improve this answer














                                      share|improve this answer



                                      share|improve this answer








                                      edited 10 hours ago

























                                      answered 2 days ago









                                      Neil

                                      77.9k744174




                                      77.9k744174






















                                          up vote
                                          8
                                          down vote













                                          JavaScript (ES6), 173 170 bytes





                                          _=>`tc
                                          du
                                          9a9k
                                          58fe38
                                          36h83676
                                          6j83!h85!h85!f87!f87!dm96
                                          6dm96
                                          6b8b!b6d696
                                          3858n8
                                          5gjc
                                          dy
                                          d6`.split`!`.join`696
                                          6`.replace(/./g,c=>'# '[(k=parseInt(c,36))&1].repeat(k/2))


                                          Try it online!






                                          Node.js, 163 bytes



                                          Provided that an array of strings is a valid output:





                                          _=>Buffer(`.&-/*%$*&$''!$##($!###!#)$!#$&($"#$&($"#$&'$##$&'$##$&&+$&&+$&%$%#$&%#&#$#!$"$+$#()&(1*#2`).map(c=>s+='# '[x^=1].repeat(c-32),s=x='')&&s.match(/.{27}/g)


                                          Try it online!






                                          share|improve this answer



























                                            up vote
                                            8
                                            down vote













                                            JavaScript (ES6), 173 170 bytes





                                            _=>`tc
                                            du
                                            9a9k
                                            58fe38
                                            36h83676
                                            6j83!h85!h85!f87!f87!dm96
                                            6dm96
                                            6b8b!b6d696
                                            3858n8
                                            5gjc
                                            dy
                                            d6`.split`!`.join`696
                                            6`.replace(/./g,c=>'# '[(k=parseInt(c,36))&1].repeat(k/2))


                                            Try it online!






                                            Node.js, 163 bytes



                                            Provided that an array of strings is a valid output:





                                            _=>Buffer(`.&-/*%$*&$''!$##($!###!#)$!#$&($"#$&($"#$&'$##$&'$##$&&+$&&+$&%$%#$&%#&#$#!$"$+$#()&(1*#2`).map(c=>s+='# '[x^=1].repeat(c-32),s=x='')&&s.match(/.{27}/g)


                                            Try it online!






                                            share|improve this answer

























                                              up vote
                                              8
                                              down vote










                                              up vote
                                              8
                                              down vote









                                              JavaScript (ES6), 173 170 bytes





                                              _=>`tc
                                              du
                                              9a9k
                                              58fe38
                                              36h83676
                                              6j83!h85!h85!f87!f87!dm96
                                              6dm96
                                              6b8b!b6d696
                                              3858n8
                                              5gjc
                                              dy
                                              d6`.split`!`.join`696
                                              6`.replace(/./g,c=>'# '[(k=parseInt(c,36))&1].repeat(k/2))


                                              Try it online!






                                              Node.js, 163 bytes



                                              Provided that an array of strings is a valid output:





                                              _=>Buffer(`.&-/*%$*&$''!$##($!###!#)$!#$&($"#$&($"#$&'$##$&'$##$&&+$&&+$&%$%#$&%#&#$#!$"$+$#()&(1*#2`).map(c=>s+='# '[x^=1].repeat(c-32),s=x='')&&s.match(/.{27}/g)


                                              Try it online!






                                              share|improve this answer














                                              JavaScript (ES6), 173 170 bytes





                                              _=>`tc
                                              du
                                              9a9k
                                              58fe38
                                              36h83676
                                              6j83!h85!h85!f87!f87!dm96
                                              6dm96
                                              6b8b!b6d696
                                              3858n8
                                              5gjc
                                              dy
                                              d6`.split`!`.join`696
                                              6`.replace(/./g,c=>'# '[(k=parseInt(c,36))&1].repeat(k/2))


                                              Try it online!






                                              Node.js, 163 bytes



                                              Provided that an array of strings is a valid output:





                                              _=>Buffer(`.&-/*%$*&$''!$##($!###!#)$!#$&($"#$&($"#$&'$##$&'$##$&&+$&&+$&%$%#$&%#&#$#!$"$+$#()&(1*#2`).map(c=>s+='# '[x^=1].repeat(c-32),s=x='')&&s.match(/.{27}/g)


                                              Try it online!







                                              share|improve this answer














                                              share|improve this answer



                                              share|improve this answer








                                              edited Nov 13 at 19:34

























                                              answered Nov 13 at 18:05









                                              Arnauld

                                              68.6k584289




                                              68.6k584289






















                                                  up vote
                                                  8
                                                  down vote













                                                  Python 2, 129 bytes





                                                  00000000: 2363 6f64 696e 673a 4c31 0a70 7269 6e74  #coding:L1.print
                                                  00000010: 2778 da95 9141 0e5c 3021 0803 ef7d 4593 'x...A.!...}E.
                                                  00000020: feff 8f9b 5d14 5c6e f1b0 f622 7422 2890 ....].n..."t"(.
                                                  00000030: 2e7d 5a09 dc4b 19cb bc53 84d1 4a6a 5960 .}Z..K...S..JjY`
                                                  00000040: 116e 3f42 c290 b3f7 c0bc 76cf 549d 6ed8 .n?B......v.T.n.
                                                  00000050: f8fa 5f26 0b0e 8c93 d5cb 35f6 b1e7 a939 .._&......5....9
                                                  00000060: 9e98 e769 47b9 87d6 cdf5 5c30 3030 32c0 ...iG.....002.
                                                  00000070: 4029 272e 6465 636f 6465 2827 7a69 7027 @)'.decode('zip'
                                                  00000080: 29 )


                                                  Try it online!






                                                  share|improve this answer























                                                  • 129 bytes, I removed the trailing n from the compressed string.
                                                    – ovs
                                                    2 days ago















                                                  up vote
                                                  8
                                                  down vote













                                                  Python 2, 129 bytes





                                                  00000000: 2363 6f64 696e 673a 4c31 0a70 7269 6e74  #coding:L1.print
                                                  00000010: 2778 da95 9141 0e5c 3021 0803 ef7d 4593 'x...A.!...}E.
                                                  00000020: feff 8f9b 5d14 5c6e f1b0 f622 7422 2890 ....].n..."t"(.
                                                  00000030: 2e7d 5a09 dc4b 19cb bc53 84d1 4a6a 5960 .}Z..K...S..JjY`
                                                  00000040: 116e 3f42 c290 b3f7 c0bc 76cf 549d 6ed8 .n?B......v.T.n.
                                                  00000050: f8fa 5f26 0b0e 8c93 d5cb 35f6 b1e7 a939 .._&......5....9
                                                  00000060: 9e98 e769 47b9 87d6 cdf5 5c30 3030 32c0 ...iG.....002.
                                                  00000070: 4029 272e 6465 636f 6465 2827 7a69 7027 @)'.decode('zip'
                                                  00000080: 29 )


                                                  Try it online!






                                                  share|improve this answer























                                                  • 129 bytes, I removed the trailing n from the compressed string.
                                                    – ovs
                                                    2 days ago













                                                  up vote
                                                  8
                                                  down vote










                                                  up vote
                                                  8
                                                  down vote









                                                  Python 2, 129 bytes





                                                  00000000: 2363 6f64 696e 673a 4c31 0a70 7269 6e74  #coding:L1.print
                                                  00000010: 2778 da95 9141 0e5c 3021 0803 ef7d 4593 'x...A.!...}E.
                                                  00000020: feff 8f9b 5d14 5c6e f1b0 f622 7422 2890 ....].n..."t"(.
                                                  00000030: 2e7d 5a09 dc4b 19cb bc53 84d1 4a6a 5960 .}Z..K...S..JjY`
                                                  00000040: 116e 3f42 c290 b3f7 c0bc 76cf 549d 6ed8 .n?B......v.T.n.
                                                  00000050: f8fa 5f26 0b0e 8c93 d5cb 35f6 b1e7 a939 .._&......5....9
                                                  00000060: 9e98 e769 47b9 87d6 cdf5 5c30 3030 32c0 ...iG.....002.
                                                  00000070: 4029 272e 6465 636f 6465 2827 7a69 7027 @)'.decode('zip'
                                                  00000080: 29 )


                                                  Try it online!






                                                  share|improve this answer














                                                  Python 2, 129 bytes





                                                  00000000: 2363 6f64 696e 673a 4c31 0a70 7269 6e74  #coding:L1.print
                                                  00000010: 2778 da95 9141 0e5c 3021 0803 ef7d 4593 'x...A.!...}E.
                                                  00000020: feff 8f9b 5d14 5c6e f1b0 f622 7422 2890 ....].n..."t"(.
                                                  00000030: 2e7d 5a09 dc4b 19cb bc53 84d1 4a6a 5960 .}Z..K...S..JjY`
                                                  00000040: 116e 3f42 c290 b3f7 c0bc 76cf 549d 6ed8 .n?B......v.T.n.
                                                  00000050: f8fa 5f26 0b0e 8c93 d5cb 35f6 b1e7 a939 .._&......5....9
                                                  00000060: 9e98 e769 47b9 87d6 cdf5 5c30 3030 32c0 ...iG.....002.
                                                  00000070: 4029 272e 6465 636f 6465 2827 7a69 7027 @)'.decode('zip'
                                                  00000080: 29 )


                                                  Try it online!







                                                  share|improve this answer














                                                  share|improve this answer



                                                  share|improve this answer








                                                  edited 2 days ago

























                                                  answered 2 days ago









                                                  Lynn

                                                  49.1k694223




                                                  49.1k694223












                                                  • 129 bytes, I removed the trailing n from the compressed string.
                                                    – ovs
                                                    2 days ago


















                                                  • 129 bytes, I removed the trailing n from the compressed string.
                                                    – ovs
                                                    2 days ago
















                                                  129 bytes, I removed the trailing n from the compressed string.
                                                  – ovs
                                                  2 days ago




                                                  129 bytes, I removed the trailing n from the compressed string.
                                                  – ovs
                                                  2 days ago










                                                  up vote
                                                  7
                                                  down vote














                                                  ///, 170 bytes



                                                  /+/////*/  +)/'$# +(/"$!+'/" +&/!#+%/"!
                                                  !+$/*!+"/**+!/###/""('*
                                                  (!!!'
                                                  "&#"!!&"
                                                  $#'$& &*
                                                  !""& ! $
                                                  !"'& !%""&$%""&$%)$%)$%(&#%(&#%'&'!%'!"$"!
                                                  &$#")
                                                  $&#"'!!*
                                                  (!!&#"
                                                  "$


                                                  Try it online!






                                                  share|improve this answer

























                                                    up vote
                                                    7
                                                    down vote














                                                    ///, 170 bytes



                                                    /+/////*/  +)/'$# +(/"$!+'/" +&/!#+%/"!
                                                    !+$/*!+"/**+!/###/""('*
                                                    (!!!'
                                                    "&#"!!&"
                                                    $#'$& &*
                                                    !""& ! $
                                                    !"'& !%""&$%""&$%)$%)$%(&#%(&#%'&'!%'!"$"!
                                                    &$#")
                                                    $&#"'!!*
                                                    (!!&#"
                                                    "$


                                                    Try it online!






                                                    share|improve this answer























                                                      up vote
                                                      7
                                                      down vote










                                                      up vote
                                                      7
                                                      down vote










                                                      ///, 170 bytes



                                                      /+/////*/  +)/'$# +(/"$!+'/" +&/!#+%/"!
                                                      !+$/*!+"/**+!/###/""('*
                                                      (!!!'
                                                      "&#"!!&"
                                                      $#'$& &*
                                                      !""& ! $
                                                      !"'& !%""&$%""&$%)$%)$%(&#%(&#%'&'!%'!"$"!
                                                      &$#")
                                                      $&#"'!!*
                                                      (!!&#"
                                                      "$


                                                      Try it online!






                                                      share|improve this answer













                                                      ///, 170 bytes



                                                      /+/////*/  +)/'$# +(/"$!+'/" +&/!#+%/"!
                                                      !+$/*!+"/**+!/###/""('*
                                                      (!!!'
                                                      "&#"!!&"
                                                      $#'$& &*
                                                      !""& ! $
                                                      !"'& !%""&$%""&$%)$%)$%(&#%(&#%'&'!%'!"$"!
                                                      &$#")
                                                      $&#"'!!*
                                                      (!!&#"
                                                      "$


                                                      Try it online!







                                                      share|improve this answer












                                                      share|improve this answer



                                                      share|improve this answer










                                                      answered Nov 13 at 19:02









                                                      Conor O'Brien

                                                      28.8k263160




                                                      28.8k263160






















                                                          up vote
                                                          7
                                                          down vote














                                                          C (gcc), 174 168 164 bytes



                                                          -6 bytes thanks to Dennis.





                                                          i,j=88;main(l){while(j--)for(i="CJQHFIHCDKDBDACDCFCEFDCEDEFDKFFDKFFDCCDGFDCCDGFDCBDHFDCBDHFDCADICACCCADHCCDAGGDFJDEJOMFN"[j]-64;i;)putchar(l++%28?--i,35-j%2*3:10);}


                                                          Try it online!






                                                          share|improve this answer



























                                                            up vote
                                                            7
                                                            down vote














                                                            C (gcc), 174 168 164 bytes



                                                            -6 bytes thanks to Dennis.





                                                            i,j=88;main(l){while(j--)for(i="CJQHFIHCDKDBDACDCFCEFDCEDEFDKFFDKFFDCCDGFDCCDGFDCBDHFDCBDHFDCADICACCCADHCCDAGGDFJDEJOMFN"[j]-64;i;)putchar(l++%28?--i,35-j%2*3:10);}


                                                            Try it online!






                                                            share|improve this answer

























                                                              up vote
                                                              7
                                                              down vote










                                                              up vote
                                                              7
                                                              down vote










                                                              C (gcc), 174 168 164 bytes



                                                              -6 bytes thanks to Dennis.





                                                              i,j=88;main(l){while(j--)for(i="CJQHFIHCDKDBDACDCFCEFDCEDEFDKFFDKFFDCCDGFDCCDGFDCBDHFDCBDHFDCADICACCCADHCCDAGGDFJDEJOMFN"[j]-64;i;)putchar(l++%28?--i,35-j%2*3:10);}


                                                              Try it online!






                                                              share|improve this answer















                                                              C (gcc), 174 168 164 bytes



                                                              -6 bytes thanks to Dennis.





                                                              i,j=88;main(l){while(j--)for(i="CJQHFIHCDKDBDACDCFCEFDCEDEFDKFFDKFFDCCDGFDCCDGFDCBDHFDCBDHFDCADICACCCADHCCDAGGDFJDEJOMFN"[j]-64;i;)putchar(l++%28?--i,35-j%2*3:10);}


                                                              Try it online!







                                                              share|improve this answer














                                                              share|improve this answer



                                                              share|improve this answer








                                                              edited 2 days ago

























                                                              answered Nov 13 at 22:10









                                                              gastropner

                                                              1,8001410




                                                              1,8001410






















                                                                  up vote
                                                                  7
                                                                  down vote














                                                                  05AB1E, 101 88 64 bytes



                                                                  „# •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•12вεN>yи}˜èJ27ô»


                                                                  -24 bytes by creating a port of @Dennis♦' Jelly answer.



                                                                  Try it online.



                                                                  Explanation:





                                                                  „#                     # Push string "# "
                                                                  •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•
                                                                  '# Push compressed integer 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163
                                                                  12в # Convert to Base-12 as list: [3,0,11,6,2,0,11,4,0,11,10,5,4,10,6,4,7,7,1,4,3,3,8,4,1,3,3,3,1,3,9,4,1,3,4,6,8,4,2,3,4,6,8,4,2,3,4,6,7,4,3,3,4,6,7,4,3,3,4,6,6,11,4,6,6,11,4,6,5,4,5,3,4,6,5,3,6,3,4,3,1,4,2,4,11,4,3,8,9,6,8,6,0,11,10,3]
                                                                  ε } # Map each `y` to:
                                                                  N> # The index+1
                                                                  yи # Repeated `y` amount of times
                                                                  ˜ # Flatten the list
                                                                  è # Index each in the string "# " (with automatic wraparound)
                                                                  J # Join everything together
                                                                  27ô # Split into parts of length 27
                                                                  » # And join by newlines


                                                                  See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand how the compression of the integer and list works.






                                                                  share|improve this answer



























                                                                    up vote
                                                                    7
                                                                    down vote














                                                                    05AB1E, 101 88 64 bytes



                                                                    „# •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•12вεN>yи}˜èJ27ô»


                                                                    -24 bytes by creating a port of @Dennis♦' Jelly answer.



                                                                    Try it online.



                                                                    Explanation:





                                                                    „#                     # Push string "# "
                                                                    •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•
                                                                    '# Push compressed integer 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163
                                                                    12в # Convert to Base-12 as list: [3,0,11,6,2,0,11,4,0,11,10,5,4,10,6,4,7,7,1,4,3,3,8,4,1,3,3,3,1,3,9,4,1,3,4,6,8,4,2,3,4,6,8,4,2,3,4,6,7,4,3,3,4,6,7,4,3,3,4,6,6,11,4,6,6,11,4,6,5,4,5,3,4,6,5,3,6,3,4,3,1,4,2,4,11,4,3,8,9,6,8,6,0,11,10,3]
                                                                    ε } # Map each `y` to:
                                                                    N> # The index+1
                                                                    yи # Repeated `y` amount of times
                                                                    ˜ # Flatten the list
                                                                    è # Index each in the string "# " (with automatic wraparound)
                                                                    J # Join everything together
                                                                    27ô # Split into parts of length 27
                                                                    » # And join by newlines


                                                                    See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand how the compression of the integer and list works.






                                                                    share|improve this answer

























                                                                      up vote
                                                                      7
                                                                      down vote










                                                                      up vote
                                                                      7
                                                                      down vote










                                                                      05AB1E, 101 88 64 bytes



                                                                      „# •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•12вεN>yи}˜èJ27ô»


                                                                      -24 bytes by creating a port of @Dennis♦' Jelly answer.



                                                                      Try it online.



                                                                      Explanation:





                                                                      „#                     # Push string "# "
                                                                      •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•
                                                                      '# Push compressed integer 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163
                                                                      12в # Convert to Base-12 as list: [3,0,11,6,2,0,11,4,0,11,10,5,4,10,6,4,7,7,1,4,3,3,8,4,1,3,3,3,1,3,9,4,1,3,4,6,8,4,2,3,4,6,8,4,2,3,4,6,7,4,3,3,4,6,7,4,3,3,4,6,6,11,4,6,6,11,4,6,5,4,5,3,4,6,5,3,6,3,4,3,1,4,2,4,11,4,3,8,9,6,8,6,0,11,10,3]
                                                                      ε } # Map each `y` to:
                                                                      N> # The index+1
                                                                      yи # Repeated `y` amount of times
                                                                      ˜ # Flatten the list
                                                                      è # Index each in the string "# " (with automatic wraparound)
                                                                      J # Join everything together
                                                                      27ô # Split into parts of length 27
                                                                      » # And join by newlines


                                                                      See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand how the compression of the integer and list works.






                                                                      share|improve this answer















                                                                      05AB1E, 101 88 64 bytes



                                                                      „# •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•12вεN>yи}˜èJ27ô»


                                                                      -24 bytes by creating a port of @Dennis♦' Jelly answer.



                                                                      Try it online.



                                                                      Explanation:





                                                                      „#                     # Push string "# "
                                                                      •∍ΔÎë,½=bOÅ.âαUΔ'òõƶαÔγλ#xÆ]~”FbćÁ˜Ð”wнQ_wā©•
                                                                      '# Push compressed integer 10250938842396786963034911279002199266186481794751691439873548591280332406943905758890346943197901909163
                                                                      12в # Convert to Base-12 as list: [3,0,11,6,2,0,11,4,0,11,10,5,4,10,6,4,7,7,1,4,3,3,8,4,1,3,3,3,1,3,9,4,1,3,4,6,8,4,2,3,4,6,8,4,2,3,4,6,7,4,3,3,4,6,7,4,3,3,4,6,6,11,4,6,6,11,4,6,5,4,5,3,4,6,5,3,6,3,4,3,1,4,2,4,11,4,3,8,9,6,8,6,0,11,10,3]
                                                                      ε } # Map each `y` to:
                                                                      N> # The index+1
                                                                      yи # Repeated `y` amount of times
                                                                      ˜ # Flatten the list
                                                                      è # Index each in the string "# " (with automatic wraparound)
                                                                      J # Join everything together
                                                                      27ô # Split into parts of length 27
                                                                      » # And join by newlines


                                                                      See this 05AB1E tip of mine (sections How to compress large integers? and How to compress integer lists?) to understand how the compression of the integer and list works.







                                                                      share|improve this answer














                                                                      share|improve this answer



                                                                      share|improve this answer








                                                                      edited 2 days ago

























                                                                      answered 2 days ago









                                                                      Kevin Cruijssen

                                                                      34k554181




                                                                      34k554181






















                                                                          up vote
                                                                          6
                                                                          down vote













                                                                          Haskell, 170 163 bytes



                                                                          Edit: -7 bytes thanks to @Ørjan Johansen



                                                                          m=<<"Mc Ul WeWg YdTgZa ZcSdZcX cRdZcW cSdYcW cSdYcW cTdXcW cTdXcW cUkW cUkW cVdVcW cVcUcW ZdYdPa YhRc Un U "
                                                                          m ' '="###n"
                                                                          m c=(' '<$['Z','Y'..c])++('#'<$['a'..c])


                                                                          Try it online!



                                                                          Spaces are encoded as uppercase characters (length: Z down to char), hash signs as lowercase characters (length: a to char) and the last three # of each line plus newline as a space. Function m decodes it.






                                                                          share|improve this answer



















                                                                          • 1




                                                                            I think you can save some by letting space encode "###n".
                                                                            – Ørjan Johansen
                                                                            2 days ago















                                                                          up vote
                                                                          6
                                                                          down vote













                                                                          Haskell, 170 163 bytes



                                                                          Edit: -7 bytes thanks to @Ørjan Johansen



                                                                          m=<<"Mc Ul WeWg YdTgZa ZcSdZcX cRdZcW cSdYcW cSdYcW cTdXcW cTdXcW cUkW cUkW cVdVcW cVcUcW ZdYdPa YhRc Un U "
                                                                          m ' '="###n"
                                                                          m c=(' '<$['Z','Y'..c])++('#'<$['a'..c])


                                                                          Try it online!



                                                                          Spaces are encoded as uppercase characters (length: Z down to char), hash signs as lowercase characters (length: a to char) and the last three # of each line plus newline as a space. Function m decodes it.






                                                                          share|improve this answer



















                                                                          • 1




                                                                            I think you can save some by letting space encode "###n".
                                                                            – Ørjan Johansen
                                                                            2 days ago













                                                                          up vote
                                                                          6
                                                                          down vote










                                                                          up vote
                                                                          6
                                                                          down vote









                                                                          Haskell, 170 163 bytes



                                                                          Edit: -7 bytes thanks to @Ørjan Johansen



                                                                          m=<<"Mc Ul WeWg YdTgZa ZcSdZcX cRdZcW cSdYcW cSdYcW cTdXcW cTdXcW cUkW cUkW cVdVcW cVcUcW ZdYdPa YhRc Un U "
                                                                          m ' '="###n"
                                                                          m c=(' '<$['Z','Y'..c])++('#'<$['a'..c])


                                                                          Try it online!



                                                                          Spaces are encoded as uppercase characters (length: Z down to char), hash signs as lowercase characters (length: a to char) and the last three # of each line plus newline as a space. Function m decodes it.






                                                                          share|improve this answer














                                                                          Haskell, 170 163 bytes



                                                                          Edit: -7 bytes thanks to @Ørjan Johansen



                                                                          m=<<"Mc Ul WeWg YdTgZa ZcSdZcX cRdZcW cSdYcW cSdYcW cTdXcW cTdXcW cUkW cUkW cVdVcW cVcUcW ZdYdPa YhRc Un U "
                                                                          m ' '="###n"
                                                                          m c=(' '<$['Z','Y'..c])++('#'<$['a'..c])


                                                                          Try it online!



                                                                          Spaces are encoded as uppercase characters (length: Z down to char), hash signs as lowercase characters (length: a to char) and the last three # of each line plus newline as a space. Function m decodes it.







                                                                          share|improve this answer














                                                                          share|improve this answer



                                                                          share|improve this answer








                                                                          edited 2 days ago

























                                                                          answered 2 days ago









                                                                          nimi

                                                                          30.7k31985




                                                                          30.7k31985








                                                                          • 1




                                                                            I think you can save some by letting space encode "###n".
                                                                            – Ørjan Johansen
                                                                            2 days ago














                                                                          • 1




                                                                            I think you can save some by letting space encode "###n".
                                                                            – Ørjan Johansen
                                                                            2 days ago








                                                                          1




                                                                          1




                                                                          I think you can save some by letting space encode "###n".
                                                                          – Ørjan Johansen
                                                                          2 days ago




                                                                          I think you can save some by letting space encode "###n".
                                                                          – Ørjan Johansen
                                                                          2 days ago










                                                                          up vote
                                                                          6
                                                                          down vote














                                                                          Bash, 192 176 bytes





                                                                          dc<<<"16i2o81C0000 81FFFF0 9FE00FC BCF001E F070387 F078387 F03FF87 F03FF87 F01E387 F01E387 F00F387 F00F387 F007B87 B807B8E 9E03FBC 87C3FF0 81FFFC0 8001F80f"|tr 01 ' #'|cut -c2-


                                                                          Try it online!



                                                                          -16 thanks to manatwork



                                                                          This is similar to my C answer, except it just uses a raw base-16 compression and passes it through bc, then uses tr to convert 1 to # and 0 to space. Each row has 1 appended to it and stripped off of it to maintain alignment.



                                                                          Unfortunately dc is shorter than bc.






                                                                          share|improve this answer























                                                                          • No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                            – manatwork
                                                                            Nov 13 at 22:59












                                                                          • And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                            – manatwork
                                                                            2 days ago






                                                                          • 2




                                                                            I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                            – LambdaBeta
                                                                            2 days ago






                                                                          • 1




                                                                            134 bytes
                                                                            – Dennis
                                                                            2 days ago















                                                                          up vote
                                                                          6
                                                                          down vote














                                                                          Bash, 192 176 bytes





                                                                          dc<<<"16i2o81C0000 81FFFF0 9FE00FC BCF001E F070387 F078387 F03FF87 F03FF87 F01E387 F01E387 F00F387 F00F387 F007B87 B807B8E 9E03FBC 87C3FF0 81FFFC0 8001F80f"|tr 01 ' #'|cut -c2-


                                                                          Try it online!



                                                                          -16 thanks to manatwork



                                                                          This is similar to my C answer, except it just uses a raw base-16 compression and passes it through bc, then uses tr to convert 1 to # and 0 to space. Each row has 1 appended to it and stripped off of it to maintain alignment.



                                                                          Unfortunately dc is shorter than bc.






                                                                          share|improve this answer























                                                                          • No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                            – manatwork
                                                                            Nov 13 at 22:59












                                                                          • And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                            – manatwork
                                                                            2 days ago






                                                                          • 2




                                                                            I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                            – LambdaBeta
                                                                            2 days ago






                                                                          • 1




                                                                            134 bytes
                                                                            – Dennis
                                                                            2 days ago













                                                                          up vote
                                                                          6
                                                                          down vote










                                                                          up vote
                                                                          6
                                                                          down vote










                                                                          Bash, 192 176 bytes





                                                                          dc<<<"16i2o81C0000 81FFFF0 9FE00FC BCF001E F070387 F078387 F03FF87 F03FF87 F01E387 F01E387 F00F387 F00F387 F007B87 B807B8E 9E03FBC 87C3FF0 81FFFC0 8001F80f"|tr 01 ' #'|cut -c2-


                                                                          Try it online!



                                                                          -16 thanks to manatwork



                                                                          This is similar to my C answer, except it just uses a raw base-16 compression and passes it through bc, then uses tr to convert 1 to # and 0 to space. Each row has 1 appended to it and stripped off of it to maintain alignment.



                                                                          Unfortunately dc is shorter than bc.






                                                                          share|improve this answer















                                                                          Bash, 192 176 bytes





                                                                          dc<<<"16i2o81C0000 81FFFF0 9FE00FC BCF001E F070387 F078387 F03FF87 F03FF87 F01E387 F01E387 F00F387 F00F387 F007B87 B807B8E 9E03FBC 87C3FF0 81FFFC0 8001F80f"|tr 01 ' #'|cut -c2-


                                                                          Try it online!



                                                                          -16 thanks to manatwork



                                                                          This is similar to my C answer, except it just uses a raw base-16 compression and passes it through bc, then uses tr to convert 1 to # and 0 to space. Each row has 1 appended to it and stripped off of it to maintain alignment.



                                                                          Unfortunately dc is shorter than bc.







                                                                          share|improve this answer














                                                                          share|improve this answer



                                                                          share|improve this answer








                                                                          edited 2 days ago

























                                                                          answered Nov 13 at 21:00









                                                                          LambdaBeta

                                                                          1,989416




                                                                          1,989416












                                                                          • No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                            – manatwork
                                                                            Nov 13 at 22:59












                                                                          • And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                            – manatwork
                                                                            2 days ago






                                                                          • 2




                                                                            I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                            – LambdaBeta
                                                                            2 days ago






                                                                          • 1




                                                                            134 bytes
                                                                            – Dennis
                                                                            2 days ago


















                                                                          • No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                            – manatwork
                                                                            Nov 13 at 22:59












                                                                          • And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                            – manatwork
                                                                            2 days ago






                                                                          • 2




                                                                            I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                            – LambdaBeta
                                                                            2 days ago






                                                                          • 1




                                                                            134 bytes
                                                                            – Dennis
                                                                            2 days ago
















                                                                          No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                          – manatwork
                                                                          Nov 13 at 22:59






                                                                          No need for ^. But even better, use cut -c2- instead of the sed part.
                                                                          – manatwork
                                                                          Nov 13 at 22:59














                                                                          And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                          – manatwork
                                                                          2 days ago




                                                                          And also shorter with here-string instead of echo and even shorter with dc instead of bc: Try it online!
                                                                          – manatwork
                                                                          2 days ago




                                                                          2




                                                                          2




                                                                          I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                          – LambdaBeta
                                                                          2 days ago




                                                                          I'll give you the echo, but come on - dc for Stan Lee... you must be joking ;)
                                                                          – LambdaBeta
                                                                          2 days ago




                                                                          1




                                                                          1




                                                                          134 bytes
                                                                          – Dennis
                                                                          2 days ago




                                                                          134 bytes
                                                                          – Dennis
                                                                          2 days ago










                                                                          up vote
                                                                          5
                                                                          down vote














                                                                          J, 130 128 bytes



                                                                          echo' #'{~18 27$;(_243{.2#.inv 92x#._32+a.i.])&>'!TYPW.ajz i8hIhXl''3lOH8GvV.C2Z{r/=,G';'"a*2ZDxRplkh2tzRakz.?ZwVmeOT6L^lFB^eyT'


                                                                          Try it online!



                                                                          Initial solution




                                                                          J, 164 bytes



                                                                          echo' #'{~18 27$,#:849239965469633263905532594449192007713271791872263657753301928240007 12380965417202148347902847903517734495157419855048834759608223758433386496x


                                                                          Try it online!






                                                                          share|improve this answer



























                                                                            up vote
                                                                            5
                                                                            down vote














                                                                            J, 130 128 bytes



                                                                            echo' #'{~18 27$;(_243{.2#.inv 92x#._32+a.i.])&>'!TYPW.ajz i8hIhXl''3lOH8GvV.C2Z{r/=,G';'"a*2ZDxRplkh2tzRakz.?ZwVmeOT6L^lFB^eyT'


                                                                            Try it online!



                                                                            Initial solution




                                                                            J, 164 bytes



                                                                            echo' #'{~18 27$,#:849239965469633263905532594449192007713271791872263657753301928240007 12380965417202148347902847903517734495157419855048834759608223758433386496x


                                                                            Try it online!






                                                                            share|improve this answer

























                                                                              up vote
                                                                              5
                                                                              down vote










                                                                              up vote
                                                                              5
                                                                              down vote










                                                                              J, 130 128 bytes



                                                                              echo' #'{~18 27$;(_243{.2#.inv 92x#._32+a.i.])&>'!TYPW.ajz i8hIhXl''3lOH8GvV.C2Z{r/=,G';'"a*2ZDxRplkh2tzRakz.?ZwVmeOT6L^lFB^eyT'


                                                                              Try it online!



                                                                              Initial solution




                                                                              J, 164 bytes



                                                                              echo' #'{~18 27$,#:849239965469633263905532594449192007713271791872263657753301928240007 12380965417202148347902847903517734495157419855048834759608223758433386496x


                                                                              Try it online!






                                                                              share|improve this answer















                                                                              J, 130 128 bytes



                                                                              echo' #'{~18 27$;(_243{.2#.inv 92x#._32+a.i.])&>'!TYPW.ajz i8hIhXl''3lOH8GvV.C2Z{r/=,G';'"a*2ZDxRplkh2tzRakz.?ZwVmeOT6L^lFB^eyT'


                                                                              Try it online!



                                                                              Initial solution




                                                                              J, 164 bytes



                                                                              echo' #'{~18 27$,#:849239965469633263905532594449192007713271791872263657753301928240007 12380965417202148347902847903517734495157419855048834759608223758433386496x


                                                                              Try it online!







                                                                              share|improve this answer














                                                                              share|improve this answer



                                                                              share|improve this answer








                                                                              edited 2 days ago

























                                                                              answered Nov 13 at 20:04









                                                                              Galen Ivanov

                                                                              5,88711032




                                                                              5,88711032






















                                                                                  up vote
                                                                                  4
                                                                                  down vote














                                                                                  Perl 5, 181 bytes





                                                                                  say+(sprintf"%28b",oct"0x$_")=~y/10/# /r for"0003f0003fff800f87fe03c07f78700f71ce00f70ee01e70ee01e70ee03c70ee03c70ee07ff0ee07ff0ee0f070ee0e070e79e003c3fc01f803fffe00380000"=~/.{7}/g


                                                                                  Try it online!






                                                                                  share|improve this answer

























                                                                                    up vote
                                                                                    4
                                                                                    down vote














                                                                                    Perl 5, 181 bytes





                                                                                    say+(sprintf"%28b",oct"0x$_")=~y/10/# /r for"0003f0003fff800f87fe03c07f78700f71ce00f70ee01e70ee01e70ee03c70ee03c70ee07ff0ee07ff0ee0f070ee0e070e79e003c3fc01f803fffe00380000"=~/.{7}/g


                                                                                    Try it online!






                                                                                    share|improve this answer























                                                                                      up vote
                                                                                      4
                                                                                      down vote










                                                                                      up vote
                                                                                      4
                                                                                      down vote










                                                                                      Perl 5, 181 bytes





                                                                                      say+(sprintf"%28b",oct"0x$_")=~y/10/# /r for"0003f0003fff800f87fe03c07f78700f71ce00f70ee01e70ee01e70ee03c70ee03c70ee07ff0ee07ff0ee0f070ee0e070e79e003c3fc01f803fffe00380000"=~/.{7}/g


                                                                                      Try it online!






                                                                                      share|improve this answer













                                                                                      Perl 5, 181 bytes





                                                                                      say+(sprintf"%28b",oct"0x$_")=~y/10/# /r for"0003f0003fff800f87fe03c07f78700f71ce00f70ee01e70ee01e70ee03c70ee03c70ee07ff0ee07ff0ee0f070ee0e070e79e003c3fc01f803fffe00380000"=~/.{7}/g


                                                                                      Try it online!







                                                                                      share|improve this answer












                                                                                      share|improve this answer



                                                                                      share|improve this answer










                                                                                      answered Nov 13 at 22:14









                                                                                      Xcali

                                                                                      4,970520




                                                                                      4,970520






















                                                                                          up vote
                                                                                          4
                                                                                          down vote














                                                                                          Perl 6, 136 116 bytes





                                                                                          :100['>	b3V$^%&!U3X/_9-D>Z(+, OD_=D,-:&3S>#OL
                                                                                          8C"> c H'.ords].base(2)~~TR/1/ /.comb(27)>>.say


                                                                                          Try it online!



                                                                                          Parses a base 100 number from the ordinal values of the string, converts to base 2 and replaces the 1s with spaces. This uses zeroes as the main character.



                                                                                          Explanation:



                                                                                          :100['...'.ords]   # Convert the bytes of the string to base 100
                                                                                          .base(2) # Convert to base 2
                                                                                          ~~TR/1/ / # Translate 1s to spaces
                                                                                          # Alternatively, this could be .split(1)
                                                                                          .comb(27) # Split to strings of length 27
                                                                                          >>.say # Print each on a newline





                                                                                          share|improve this answer



























                                                                                            up vote
                                                                                            4
                                                                                            down vote














                                                                                            Perl 6, 136 116 bytes





                                                                                            :100['>	b3V$^%&!U3X/_9-D>Z(+, OD_=D,-:&3S>#OL
                                                                                            8C"> c H'.ords].base(2)~~TR/1/ /.comb(27)>>.say


                                                                                            Try it online!



                                                                                            Parses a base 100 number from the ordinal values of the string, converts to base 2 and replaces the 1s with spaces. This uses zeroes as the main character.



                                                                                            Explanation:



                                                                                            :100['...'.ords]   # Convert the bytes of the string to base 100
                                                                                            .base(2) # Convert to base 2
                                                                                            ~~TR/1/ / # Translate 1s to spaces
                                                                                            # Alternatively, this could be .split(1)
                                                                                            .comb(27) # Split to strings of length 27
                                                                                            >>.say # Print each on a newline





                                                                                            share|improve this answer

























                                                                                              up vote
                                                                                              4
                                                                                              down vote










                                                                                              up vote
                                                                                              4
                                                                                              down vote










                                                                                              Perl 6, 136 116 bytes





                                                                                              :100['>	b3V$^%&!U3X/_9-D>Z(+, OD_=D,-:&3S>#OL
                                                                                              8C"> c H'.ords].base(2)~~TR/1/ /.comb(27)>>.say


                                                                                              Try it online!



                                                                                              Parses a base 100 number from the ordinal values of the string, converts to base 2 and replaces the 1s with spaces. This uses zeroes as the main character.



                                                                                              Explanation:



                                                                                              :100['...'.ords]   # Convert the bytes of the string to base 100
                                                                                              .base(2) # Convert to base 2
                                                                                              ~~TR/1/ / # Translate 1s to spaces
                                                                                              # Alternatively, this could be .split(1)
                                                                                              .comb(27) # Split to strings of length 27
                                                                                              >>.say # Print each on a newline





                                                                                              share|improve this answer















                                                                                              Perl 6, 136 116 bytes





                                                                                              :100['>	b3V$^%&!U3X/_9-D>Z(+, OD_=D,-:&3S>#OL
                                                                                              8C"> c H'.ords].base(2)~~TR/1/ /.comb(27)>>.say


                                                                                              Try it online!



                                                                                              Parses a base 100 number from the ordinal values of the string, converts to base 2 and replaces the 1s with spaces. This uses zeroes as the main character.



                                                                                              Explanation:



                                                                                              :100['...'.ords]   # Convert the bytes of the string to base 100
                                                                                              .base(2) # Convert to base 2
                                                                                              ~~TR/1/ / # Translate 1s to spaces
                                                                                              # Alternatively, this could be .split(1)
                                                                                              .comb(27) # Split to strings of length 27
                                                                                              >>.say # Print each on a newline






                                                                                              share|improve this answer














                                                                                              share|improve this answer



                                                                                              share|improve this answer








                                                                                              edited 2 days ago

























                                                                                              answered 2 days ago









                                                                                              Jo King

                                                                                              19.1k242102




                                                                                              19.1k242102






















                                                                                                  up vote
                                                                                                  3
                                                                                                  down vote













                                                                                                  MATLAB : 144 Bytes



                                                                                                  reshape(repelem([repmat(' #',1,44),' '],'NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJCR'-64),27,)'


                                                                                                  Try it online! (Technically in Octave)



                                                                                                  Explanation:



                                                                                                  This uses the same strategy as digEmAll in R, just with MATLAB syntax. The main difference is that MATLAB has automatic conversion from characters to integers.






                                                                                                  share|improve this answer










                                                                                                  New contributor




                                                                                                  Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                  Check out our Code of Conduct.






















                                                                                                    up vote
                                                                                                    3
                                                                                                    down vote













                                                                                                    MATLAB : 144 Bytes



                                                                                                    reshape(repelem([repmat(' #',1,44),' '],'NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJCR'-64),27,)'


                                                                                                    Try it online! (Technically in Octave)



                                                                                                    Explanation:



                                                                                                    This uses the same strategy as digEmAll in R, just with MATLAB syntax. The main difference is that MATLAB has automatic conversion from characters to integers.






                                                                                                    share|improve this answer










                                                                                                    New contributor




                                                                                                    Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                    Check out our Code of Conduct.




















                                                                                                      up vote
                                                                                                      3
                                                                                                      down vote










                                                                                                      up vote
                                                                                                      3
                                                                                                      down vote









                                                                                                      MATLAB : 144 Bytes



                                                                                                      reshape(repelem([repmat(' #',1,44),' '],'NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJCR'-64),27,)'


                                                                                                      Try it online! (Technically in Octave)



                                                                                                      Explanation:



                                                                                                      This uses the same strategy as digEmAll in R, just with MATLAB syntax. The main difference is that MATLAB has automatic conversion from characters to integers.






                                                                                                      share|improve this answer










                                                                                                      New contributor




                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.









                                                                                                      MATLAB : 144 Bytes



                                                                                                      reshape(repelem([repmat(' #',1,44),' '],'NFMOJEDJFDGGADCCHDACCCACIDACDFHDBCDFHDBCDFGDCCDFGDCCDFFKDFFKDFEDECDFECFCDCADBDKDCHIFHQJCR'-64),27,)'


                                                                                                      Try it online! (Technically in Octave)



                                                                                                      Explanation:



                                                                                                      This uses the same strategy as digEmAll in R, just with MATLAB syntax. The main difference is that MATLAB has automatic conversion from characters to integers.







                                                                                                      share|improve this answer










                                                                                                      New contributor




                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.









                                                                                                      share|improve this answer



                                                                                                      share|improve this answer








                                                                                                      edited 2 days ago





















                                                                                                      New contributor




                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.









                                                                                                      answered 2 days ago









                                                                                                      Nicky Mattsson

                                                                                                      1314




                                                                                                      1314




                                                                                                      New contributor




                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.





                                                                                                      New contributor





                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.






                                                                                                      Nicky Mattsson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                      Check out our Code of Conduct.






















                                                                                                          up vote
                                                                                                          3
                                                                                                          down vote














                                                                                                          PHP, 286 212 209 bytes





                                                                                                          <?php foreach(str_split('000680018y4g04uj1s0iql6k0yz98u1xxu2v1xyhs71xyhs71xzt6v1xzt6v1y2ruv1y2ruv1y7pmv1y70cn121jq60jwdto018y5s013bwg',6)as $i)echo str_replace(0,' ',str_pad(base_convert($i,36,2),27,0,0))."
                                                                                                          ";


                                                                                                          Try it online!






                                                                                                          share|improve this answer



























                                                                                                            up vote
                                                                                                            3
                                                                                                            down vote














                                                                                                            PHP, 286 212 209 bytes





                                                                                                            <?php foreach(str_split('000680018y4g04uj1s0iql6k0yz98u1xxu2v1xyhs71xyhs71xzt6v1xzt6v1y2ruv1y2ruv1y7pmv1y70cn121jq60jwdto018y5s013bwg',6)as $i)echo str_replace(0,' ',str_pad(base_convert($i,36,2),27,0,0))."
                                                                                                            ";


                                                                                                            Try it online!






                                                                                                            share|improve this answer

























                                                                                                              up vote
                                                                                                              3
                                                                                                              down vote










                                                                                                              up vote
                                                                                                              3
                                                                                                              down vote










                                                                                                              PHP, 286 212 209 bytes





                                                                                                              <?php foreach(str_split('000680018y4g04uj1s0iql6k0yz98u1xxu2v1xyhs71xyhs71xzt6v1xzt6v1y2ruv1y2ruv1y7pmv1y70cn121jq60jwdto018y5s013bwg',6)as $i)echo str_replace(0,' ',str_pad(base_convert($i,36,2),27,0,0))."
                                                                                                              ";


                                                                                                              Try it online!






                                                                                                              share|improve this answer















                                                                                                              PHP, 286 212 209 bytes





                                                                                                              <?php foreach(str_split('000680018y4g04uj1s0iql6k0yz98u1xxu2v1xyhs71xyhs71xzt6v1xzt6v1y2ruv1y2ruv1y7pmv1y70cn121jq60jwdto018y5s013bwg',6)as $i)echo str_replace(0,' ',str_pad(base_convert($i,36,2),27,0,0))."
                                                                                                              ";


                                                                                                              Try it online!







                                                                                                              share|improve this answer














                                                                                                              share|improve this answer



                                                                                                              share|improve this answer








                                                                                                              edited 9 hours ago

























                                                                                                              answered 2 days ago









                                                                                                              Scoots

                                                                                                              394311




                                                                                                              394311






















                                                                                                                  up vote
                                                                                                                  2
                                                                                                                  down vote














                                                                                                                  C# (.NET Core), 199 bytes





                                                                                                                  _=>{var r="";for(int i=0,j,k=0;i<88;i++)for(j=0;j++<"0(/1,'&,(&))#&%%*&#%%%#%+&#%&(*&$%&(*&$%&()&%%&()&%%&((-&((-&('&'%&('%(%&%#&$&-&%*+(*3,%"[i]-34;){r+=i%2<1?' ':'#';if(++k%27<1)r+='n';}return r;}


                                                                                                                  Try it online!



                                                                                                                  Uses the same approach as my solution to the tribute to Adam West.






                                                                                                                  share|improve this answer

























                                                                                                                    up vote
                                                                                                                    2
                                                                                                                    down vote














                                                                                                                    C# (.NET Core), 199 bytes





                                                                                                                    _=>{var r="";for(int i=0,j,k=0;i<88;i++)for(j=0;j++<"0(/1,'&,(&))#&%%*&#%%%#%+&#%&(*&$%&(*&$%&()&%%&()&%%&((-&((-&('&'%&('%(%&%#&$&-&%*+(*3,%"[i]-34;){r+=i%2<1?' ':'#';if(++k%27<1)r+='n';}return r;}


                                                                                                                    Try it online!



                                                                                                                    Uses the same approach as my solution to the tribute to Adam West.






                                                                                                                    share|improve this answer























                                                                                                                      up vote
                                                                                                                      2
                                                                                                                      down vote










                                                                                                                      up vote
                                                                                                                      2
                                                                                                                      down vote










                                                                                                                      C# (.NET Core), 199 bytes





                                                                                                                      _=>{var r="";for(int i=0,j,k=0;i<88;i++)for(j=0;j++<"0(/1,'&,(&))#&%%*&#%%%#%+&#%&(*&$%&(*&$%&()&%%&()&%%&((-&((-&('&'%&('%(%&%#&$&-&%*+(*3,%"[i]-34;){r+=i%2<1?' ':'#';if(++k%27<1)r+='n';}return r;}


                                                                                                                      Try it online!



                                                                                                                      Uses the same approach as my solution to the tribute to Adam West.






                                                                                                                      share|improve this answer













                                                                                                                      C# (.NET Core), 199 bytes





                                                                                                                      _=>{var r="";for(int i=0,j,k=0;i<88;i++)for(j=0;j++<"0(/1,'&,(&))#&%%*&#%%%#%+&#%&(*&$%&(*&$%&()&%%&()&%%&((-&((-&('&'%&('%(%&%#&$&-&%*+(*3,%"[i]-34;){r+=i%2<1?' ':'#';if(++k%27<1)r+='n';}return r;}


                                                                                                                      Try it online!



                                                                                                                      Uses the same approach as my solution to the tribute to Adam West.







                                                                                                                      share|improve this answer












                                                                                                                      share|improve this answer



                                                                                                                      share|improve this answer










                                                                                                                      answered 2 days ago









                                                                                                                      Charlie

                                                                                                                      7,2832388




                                                                                                                      7,2832388






















                                                                                                                          up vote
                                                                                                                          0
                                                                                                                          down vote













                                                                                                                          deflate, 79 bytes



                                                                                                                          eJyVkcsJADAIQ++ZIpD9dyxUqrGUgjlpHvglXdqCJymk1yEiaRXEIOXzuBHCiKObReUxUzYaMdt2wmTBg/FmNXndgLRbNvL7ifsLfMw6iQ==






                                                                                                                          share|improve this answer








                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.














                                                                                                                          • 6




                                                                                                                            You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                            – Jo King
                                                                                                                            2 days ago








                                                                                                                          • 3




                                                                                                                            I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                            – NobodyNada
                                                                                                                            2 days ago






                                                                                                                          • 2




                                                                                                                            This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                            – Dennis
                                                                                                                            2 days ago












                                                                                                                          • @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                            – Post Left Garf Hunter
                                                                                                                            yesterday















                                                                                                                          up vote
                                                                                                                          0
                                                                                                                          down vote













                                                                                                                          deflate, 79 bytes



                                                                                                                          eJyVkcsJADAIQ++ZIpD9dyxUqrGUgjlpHvglXdqCJymk1yEiaRXEIOXzuBHCiKObReUxUzYaMdt2wmTBg/FmNXndgLRbNvL7ifsLfMw6iQ==






                                                                                                                          share|improve this answer








                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.














                                                                                                                          • 6




                                                                                                                            You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                            – Jo King
                                                                                                                            2 days ago








                                                                                                                          • 3




                                                                                                                            I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                            – NobodyNada
                                                                                                                            2 days ago






                                                                                                                          • 2




                                                                                                                            This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                            – Dennis
                                                                                                                            2 days ago












                                                                                                                          • @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                            – Post Left Garf Hunter
                                                                                                                            yesterday













                                                                                                                          up vote
                                                                                                                          0
                                                                                                                          down vote










                                                                                                                          up vote
                                                                                                                          0
                                                                                                                          down vote









                                                                                                                          deflate, 79 bytes



                                                                                                                          eJyVkcsJADAIQ++ZIpD9dyxUqrGUgjlpHvglXdqCJymk1yEiaRXEIOXzuBHCiKObReUxUzYaMdt2wmTBg/FmNXndgLRbNvL7ifsLfMw6iQ==






                                                                                                                          share|improve this answer








                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.









                                                                                                                          deflate, 79 bytes



                                                                                                                          eJyVkcsJADAIQ++ZIpD9dyxUqrGUgjlpHvglXdqCJymk1yEiaRXEIOXzuBHCiKObReUxUzYaMdt2wmTBg/FmNXndgLRbNvL7ifsLfMw6iQ==







                                                                                                                          share|improve this answer








                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.









                                                                                                                          share|improve this answer



                                                                                                                          share|improve this answer






                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.









                                                                                                                          answered 2 days ago









                                                                                                                          Whale

                                                                                                                          11




                                                                                                                          11




                                                                                                                          New contributor




                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.





                                                                                                                          New contributor





                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.






                                                                                                                          Whale is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                                                                                          Check out our Code of Conduct.








                                                                                                                          • 6




                                                                                                                            You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                            – Jo King
                                                                                                                            2 days ago








                                                                                                                          • 3




                                                                                                                            I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                            – NobodyNada
                                                                                                                            2 days ago






                                                                                                                          • 2




                                                                                                                            This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                            – Dennis
                                                                                                                            2 days ago












                                                                                                                          • @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                            – Post Left Garf Hunter
                                                                                                                            yesterday














                                                                                                                          • 6




                                                                                                                            You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                            – Jo King
                                                                                                                            2 days ago








                                                                                                                          • 3




                                                                                                                            I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                            – NobodyNada
                                                                                                                            2 days ago






                                                                                                                          • 2




                                                                                                                            This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                            – Dennis
                                                                                                                            2 days ago












                                                                                                                          • @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                            – Post Left Garf Hunter
                                                                                                                            yesterday








                                                                                                                          6




                                                                                                                          6




                                                                                                                          You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                          – Jo King
                                                                                                                          2 days ago






                                                                                                                          You appear to have posted two answers in the same language. If you make an improvement to your submission it is better to edit your existing answer. Additionally, could you provide a link to the deflate language, as this just looks like a base64 string
                                                                                                                          – Jo King
                                                                                                                          2 days ago






                                                                                                                          3




                                                                                                                          3




                                                                                                                          I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                          – NobodyNada
                                                                                                                          2 days ago




                                                                                                                          I don't think deflate counts as a programming language (although I could be wrong as I don't participate on PPCG).
                                                                                                                          – NobodyNada
                                                                                                                          2 days ago




                                                                                                                          2




                                                                                                                          2




                                                                                                                          This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                          – Dennis
                                                                                                                          2 days ago






                                                                                                                          This is not DEFLATE, but zlib, which is DEFLATE plus a 2 byte header and a 4 byte checksum. By stripping those, you can use the Bubblegum interpreter.
                                                                                                                          – Dennis
                                                                                                                          2 days ago














                                                                                                                          @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                          – Post Left Garf Hunter
                                                                                                                          yesterday




                                                                                                                          @NobodyNada deflate is not a programming language but we do not require that submissions be in programming languages.
                                                                                                                          – Post Left Garf Hunter
                                                                                                                          yesterday


















                                                                                                                           

                                                                                                                          draft saved


                                                                                                                          draft discarded



















































                                                                                                                           


                                                                                                                          draft saved


                                                                                                                          draft discarded














                                                                                                                          StackExchange.ready(
                                                                                                                          function () {
                                                                                                                          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f175873%2ftribute-to-stan-lee%23new-answer', 'question_page');
                                                                                                                          }
                                                                                                                          );

                                                                                                                          Post as a guest















                                                                                                                          Required, but never shown





















































                                                                                                                          Required, but never shown














                                                                                                                          Required, but never shown












                                                                                                                          Required, but never shown







                                                                                                                          Required, but never shown

































                                                                                                                          Required, but never shown














                                                                                                                          Required, but never shown












                                                                                                                          Required, but never shown







                                                                                                                          Required, but never shown







                                                                                                                          Popular posts from this blog

                                                                                                                          Plaza Victoria

                                                                                                                          In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

                                                                                                                          How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...