Sagen Sie der Welt in ASCII-Kunst „Hallo“

14

Herausforderung: Produziere die folgende Ausgabe mit so wenig Zeichen wie möglich:

 _   _      _ _                             _     _ _
| | | | ___| | | ___    __      _____  _ __| | __| | |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)
                    |/

Regeln und Einschränkungen:

  • Sie dürfen FIGLet oder ähnliche Tools nicht verwenden . (Sonst figlet Hello, world!wäre das eine triviale und ziemlich unschlagbare Lösung.)

  • Ihr Programm muss vollständig aus druckbaren ASCII- Zeichen bestehen , insbesondere den Codepunkten 9 (TAB), 10 (LF) und 32 - 126. (Wenn Ihre Sprache / Ihr Betriebssystem CRLF-Zeilenumbrüche erfordert, können Sie diese anstelle von einfachen LFs verwenden.) Ja Dies disqualifiziert bedauerlicherweise jede Sprache, die Nicht-ASCII-Zeichen (oder Nicht-Textdaten) als Teil ihrer Syntax benötigt.

  • Die Ausgabe muss genau wie im obigen Beispiel aussehen. Sie können jedoch zusätzliche Leerzeichen um die Ausgabe einfügen, wenn Sie möchten. Sie können einen Tabulatorabstand von 8 Zeichen annehmen (oder die native Standardeinstellung Ihrer gewählten Plattform, falls eine konsistente vorhanden ist).

Ps. Um den Wert zu bestimmen, habe ich mir eine Perl-Lösung mit 199 Zeichen ausgedacht. Ich werde es jedoch noch nicht veröffentlichen, falls jemand es selbstständig erstellt. (Außerdem ist es ein bisschen kitschig.) Dies sollte Sie natürlich nicht davon abhalten, Ihre eigene Lösung zu veröffentlichen, auch wenn sie länger ist.


Update: Jetzt, wo Han es mit einem Char geschlagen hat, ist hier meine kitschige 199-Char-Perl-Lösung:

use Compress'Zlib;say uncompress unpack u,'M>-I]BT$*`S$,`^]YQ=R:0,&_Z<DP?8@?WVQJ]E2J"%E$$@)R(/(/MCJ*\U!OM`Z#=5`4Y>6M=L\L%DMP&DB0V.4GQL&OOGB$4:%`4TT4!R8O-Z(^BTZWNV?>F86K:9+""-35*-LNC:T^D:_$#%^`";"DD0'

Es ist der DC-Lösung (und allen anderen ZLIB / GZIP-basierten Lösungen in verschiedenen Sprachen) sehr ähnlich , mit der Ausnahme, dass ich für den komprimierten Text und einige andere kleine Golftricks Uuencoding anstelle von base64 verwendet habe .


Update 2 : Ich denke, es ist Zeit, einen Gewinner offiziell zu akzeptieren. Der erste Platz geht an den PHP-Code von konsolenfreddy , da er zwar die Zeichen zählt, aber der kürzeste ist, der bisher eingereicht wurde. In der Tat ergibt die Kombination mit dem optimierten DEFLATE-Stream aus meinem Perl-Code mit 199 Zeichen eine noch kürzere Lösung mit 176 Zeichen:

<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));

Ich denke jedoch, dass Han eine besondere Auszeichnung verdient, weil er so nah dran ist, ohne zuvor geschriebene Dekomprimierungswerkzeuge zu verwenden. Wir gratulieren Ihnen beiden und wünschen allen ein frohes neues Jahr!

Ilmari Karonen
quelle
Ok, ich muss dies in C tun ...
Michael Dorgan

Antworten:

1

Stax , 137 Bytes

"9&BO]h>&)>3ieuCoKVKVnuOoT'E-^Z(1.3u[);h1[RTOGqTZkoQx?KMy&9ctG&*y~HxR9%GYn.rYMdMcOOq^wXc@%zy*P[*Q"90|E|B"0+1"{%",``_|\/()V'"@]}R.1 |t54/m

Führen Sie es aus und debuggen Sie es

Das funktioniert so.

  1. Beginnen Sie mit einem großen String-Literal.
  2. Umwandlung in eine Ganzzahl durch Dekodierung als Basis-90-Zahl.
  3. Wandle diese Zahl in eine Binärzahl um.
  4. Durchläufe von 0s gefolgt von a 1werden in Nicht-Leerzeichen übersetzt.
  5. Alle verbleibenden 1s werden durch Leerzeichen ersetzt.
  6. Die resultierende Zeichenfolge wird in 54-stellige Zeilen aufgeteilt.
rekursiv
quelle
Herzlichen Glückwunsch, sieht so aus, als wäre dies jetzt die kürzeste Lösung! :)
Ilmari Karonen
17

Perl 5.10 - 195 198 202 203 Zeichen

Hier ist ein Eintrag, für den keine Bibliotheken über den regulären Ausdruck hinaus erforderlich sind. Die codierte Zeichenfolge besteht aus 131 Zeichen, und der Code zum Decodieren und Drucken benötigt 64 Zeichen (sofern am Ende der Quelle kein Zeilenumbruch erfolgt). Die Idee ist, übliche 3-stellige Zeichenfolgen durch Kleinbuchstaben darzustellen.

s!!xfefxxf\t\t\tf efyx
no| cnocfxefxceyxm|xmn
nm|wtnwtgt/uvy \\| 'ym|w`o|
pepyy/o| _ogrr/ _opn (ml
l lbyly|by( )fiihyjm lb,y_
\t\tf |/!;s!\w!substr'(_)\___   \_/|_| |  V \ / _',-95+ord$&,3!eg;say

Der Encoder ist viel länger und momentan leider nicht sehr gut lesbar. Die Grundidee besteht darin, mit dynamischer Programmierung die kürzeste Codierung für jede Zeile zu finden, wenn eine feste Menge von Zeichenfolgensubstitutionen vorliegt. Die Folge von Ersetzungen in der letzten Zeile wurde durch Ausprobieren erstellt, und es ist möglich, dass eine andere Folge von Ersetzungen zu einem kürzeren Programm als oben führt.

Ein Trick ist , dass einige Substitutionen sind kürzer als drei Zeichen lang sein : Aufgrund der Art und Weise Perl substrfunktioniert, xwird ersetzt durch ‚ _‘ und ydurch ‚ _‘. Letzteres ist notwendig, weil \win der Regex ' _' steht, die dann durch ' (_)' ersetzt wird.

han
quelle
+1, sehr nett. Sie können 2 Zeichen sparen, indem Sie printdurchsay
Toto
@ M42: Soweit ich das beurteilen kann, müssen Sie auf Perl 5.10 das Skript sayentweder use 5.010;als Einzeiler mit ausführen oder ausführen, um es zu verwenden perl -E 'script here'. Ersteres verlängert den Code und Letzteres ist für ein mehrzeiliges Skript nicht geeignet. Habe ich etwas verpasst?
Han
Der -Ezählt nicht in der Anzahl der Zeichen.
Toto
1
Ps. Sie können ein paar Zeichen mehr speichern, indem Sie s''...'anstelle von verwenden $_=q!...!. Denken Sie daran, das einfache Anführungszeichen zu umgehen. Damit und sayanstatt print(und ohne die letzte Zeile) bekomme ich das auf 198 Zeichen runter.
Ilmari Karonen
2
Übrigens habe ich versucht, Tabulatoren anstelle von #Whitespace zu verwenden, und Ihre Lösung auf 190 Zeichen reduziert. Ich frage mich, ob ein Unterschreiten von 184 Zeichen möglich ist - das würde alle bisher mit zlib komprimierten Lösungen übertreffen.
Ilmari Karonen
12

Brainfuck - 862 Zeichen:

>++++[<++++++++>-]>-----[<---->---]<+++>>--[<+>--]<---<<.>.<...>.<....
..>.<.>.<.............................>.<.....>.<.>.>>++++++++++.<.<<.
>>.<<.>>.<<.>>.<<.>...>.<<.>>.<<.>>.<<.>...<....>..<......>.....<..>.<
.>..>.<<.>>.<<.>..>.<<.>>.<<.>>.>.<.<<.>>.<.>.<<.>>.>>>-[<->+++++]<---
-.<<<<.>.<.>---.+++<.>>.<<.>>.>>.<<<<.>.<.>---.<...>.<.>.<.>>>>.<<<.<.
>>>>.<<<<.>>>>.<<<<.>+++.<.>---.>.<<.>>>>>>---[<+>+++++++]<++.<<<<+++.
.>.<<.>>.>>.<<<<.>.+.-<.>>.<<.>>.>.<.<<..>.<..>>.<<..>..>>>.<<<<.>>.<<
.>>.<<.>>>>>+.<<<<.>>>>+.<<<<<.>>.<<...>---.<.>------.<..>.<.>>>>.<<<<
.>>>>>-.<<<<+++++++++.>>>>+.<<<<<.>>.<<.>>.<<..>>.<<.>>.<<.>>>>>-.<<<<
.>.<<.>>.<.>.>.<.<.>.<<.>>.<.>.<---.+++...>.<.>.<.>.<---.+++...>>>>.<<
<<<.>>>>>+.<<<<<...>---.+++.>>>.<<<---.+++.>>>.<<<<.>---.+++...>>>.<<.
<.>.<<..>>.<.>.<---.+++..>>>>+++.<<<<.>>>>----.<<<<.>>>>+.<<.<<<......
..............>>.>>.<.
captncraig
quelle
Beachten Sie, dass dieser Code anscheinend 8-Bit-Zellen voraussetzt. Ich habe es zuerst mit einem Interpreter mit 32-Bit-Zellen versucht, und es blieb in [<---->---]der ersten Zeile hängen. (Vermutlich wäre es irgendwann zu Ende gegangen, aber ich habe nicht lange genug darauf gewartet.)
Ilmari Karonen
24
Wie zum Teufel hast du das in zwei Stunden geschrieben?
Joey Adams
Sieht so aus, als würdest du `') (, / | V_ \ n in den ersten Zellen speichern und sie einfach hin und her gehen und das benötigte
Zeichen
Dies hängt von 8-Bit-Umbruchzellen ab. Speichert ein paar gemeinsame Zeichen, aber nicht alle. Schaltet auch Dinge wie '\' und '_' in einer Zelle um, in der sie nah genug sind, um dies zu tun.
Captncraig
@JBernardo, der Textgenerator von BF dev hat den Code viel größer gemacht. Es würde einen viel komplizierteren Generator erfordern, um dies zu übertreffen, denke ich.
Captncraig
9

Python (2.x), 194 Zeichen

print'eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'.decode('base64').decode('zip')
tzot
quelle
2
Diese Antwort machte gerade meinen Tag xD. Ich hätte nie gedacht, dass ich einen Codegolf sehen würde, der tatsächlich zip & base64 verwendet, um die
Saitengröße
4

Javascript, 273 265 264 Zeichen

" _2_22_ _2222222226_26_ _10 0 3_0 | 3_2 32233_6_ 30 30 |10_0/ _ 4 0/ _ 424 4 /4 / / _ 4| '30/ _` 01|6_6|63/ 0 (_) |24 V6V / (_) 060 (_0_|1|_0_|43_|_543_( )24_/4_/ 43_/56543,_(_)12222226|/".replace(/\d/g,function(a){return'| |,\n,   ,__,\\,|_|,  '.split(',')[a]})

:(

JiminP
quelle
Speichern Sie den Platz nach dem return, -1
Zeichen
4

Diese Antwort ist länger als nur das Drucken der Zeichenfolge. Aber nur zum Spaß, hier ist es:

Python, 485 Zeichen ☺

import sys

data= ',C6UBKq.)U^\\ 8[hHl7gfLFyX6,;p\'SlYpN@K-`Kbs#fSU+4o~^_h\\dJDy{o9p?<GnLTgG{?ZM>bJE+"[kHm7EavoGcS#AQ^\\>e_'
table= " _|\\/(\n)V'`,"
key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2)))

number= 0
for char in data:
    number= number*95 + ord(char) - 32

mask= 1<<655
decoder= key
while mask:
    index= mask & number and 1
    try:
        decoder= decoder[index]
    except TypeError:
        sys.stdout.write(table[decoder])
        decoder= key[index]
    mask>>= 1

Da ich eine der kürzesten ASCII-Darstellungen des komprimierten Originaltexts habe, muss ich die längste Bildlaufleiste in meinem Code haben! Es ist ein Gewinn! :)

tzot
quelle
4
AKA "Meine Bildlaufleiste ist länger als deine"
tzot
Diese Lösung kann bis zu 254 Zeichen lang sein. Stört es Sie, wenn ich in der kürzeren Version bearbeite?
han
@han: Natürlich kann die Anzahl der Zeichen reduziert werden. Ich habe diesen jedoch nicht als ernsthaften Kandidaten geschrieben. Lassen Sie diesen also für sich selbst stimmen und schreiben Sie eine weitere Antwort, indem Sie so viel oder so wenig von dieser Antwort verwenden, wie Sie
möchten
Danke, ich werde bestehen, es sei denn, jemand anderes ist wirklich interessiert. Ich wollte nur darauf hinweisen, dass diese Lösung deutlich kürzer als der ursprüngliche Text sein kann.
han
3

PHP, 194 189 Zeichen

php -r'=gzinflate(base64_decode("dU/BDcQgDPszhX+lUqVs0xeSb5AMf3ZI+7qDACa2EwABeNXR4M/goxqJPUm+oLinEishKTdbKtuMQsTCC6C1EApUInHIvOlP+9zbO6PaTZ6+ynZDEZ1INFuNRu5z+ZVsMHHax1DAibCqZRdVZ/z6esYX"));'

Es ist im Grunde dasselbe wie die Antwort von Python und Perl, etwas kürzer

konsolenfreddy
quelle
Der php -r'=...'Trick scheint bei mir nicht zu funktionieren, aber Sie könnten ihn nur <?=...für 184 Zeichen verwenden. Außerdem scheint Ihre Ausgabe einen zusätzlichen Raum zu haben, in dem sich die rund ltreffen.
Ilmari Karonen
OSX 5.3.6 funktioniert gut mit dem -r'=..'. zählt das php -rnicht? Es ist in meinen 189 Zeichen enthalten ...
konsolenfreddy
Im Allgemeinen zählt der Name des Dolmetschers nicht. Für Befehlszeilenoptionen habe ich diesen Meta-Thread verwendet . Der -rSchalter von PHP ist ein Grenzfall, da er nicht nur Code als Parameter verwendet und ausführt, sondern auch die Parsing-Umgebung im Vergleich zum Ausführen des Codes aus einer Datei leicht verändert. Ich wäre geneigt, es als 2 zusätzliche Zeichen zu zählen - was es übrigens auch mit bringt <?.
Ilmari Karonen
3

In anderen Sprachen: C (Originalfassung), 209 Zeichen ; Perl , 200 Zeichen .

J, 167 160 Zeichen (47 + 113)

Eine weitere Vorlage ohne eingebaute Komprimierung. Verwendet eine recht unkomplizierte Codierung mit variabler Länge, bei der jedes Zeichen als eine Reihe von 1-Bit-Zeichen codiert und durch 0-Bit-Zeichen getrennt wird. Die komprimierte Zeichenfolge besteht nur aus 113 Zeichen.

('a _|\/',CR,'()V`,'''){~#;.2,(6$2)#:40-~3&u:'8H1(((((H:f[4ZS4ZP2(RPMAMANf[>CZD[F;I[OVFF;TgfS5aGd[7T9JW4[eG[+Of7ddg?d[.AfT]WUASE=S>bSdgI]cS[RWBYSE?gSeG_X(()WG('
FireFly
quelle
2

Python (2.7.x), 218 Zeichen

import base64,zlib;
print zlib.decompress(base64.b64decode("eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc"))

Ziemlich unkompliziert ... nicht sehr zufrieden mit diesem Versuch.

Dillon Cower
quelle
2

Bash, 199 196 193 Zeichen

base64 -d<<<H4sIAAAAAAAAAz1PQQ6AIAw7S+IfelMTk/3GE0l9CI+3HRPYoHQtAxCAMzduGliMiL0NzElygSz+LiYhLWc1VekzDFU6FoCyIxRIYuBgyd7f5+5eGdnv5OWjbA8UUcRAVbORfBN0v5MFTlw2MhQwEVaV7KYu2tv88IgPjUlb7QoBAAA=|zcat

Nahe genug...

EDIT: Bis auf 193!

Dillon Cower
quelle
1
Nett. Sie könnten durch das Ersetzen drei weitere Zeichen speichern gzip -dmit zcat.
Ilmari Karonen
3
Die Verwendung eines Where-Strings würde das Echo überschreiten.
Peter Taylor
2

Bash, 196 192

base64 -d<<<H4sIAO4SqFMCA3VPQQ7AIAi7+4re5pIl/GYnk+4hPH4U0dOmILUUUBCAPEOBn8Wlao65SW6QudWJSYSUM5sqlQlZJAY2QPiAhSEJx8GSPVWm0TppOa3z1DWqboRZEY7K5pzmMw49kgU6TtXRwiDCpCrZxejTvn7u1l5z59MGKQEAAA|zcat
rpax
quelle
1

Perl, 230 Zeichen

use Compress::Zlib;
use MIME::Base64;
print uncompress(decode_base64('eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'));

Dies ist im Grunde das Gleiche wie meine Python-Antwort. Ich würde gerne die 199-Zeichen-Version sehen ... klingt nach Magie.

Dillon Cower
quelle
Ich werde es noch nicht veröffentlichen, aber du bist auf dem richtigen Weg. Natürlich habe ich gehofft, dass jemand es mit einer ganz anderen Herangehensweise schlagen würde.
Ilmari Karonen
1

Perl, 294 290 Bytes.

Die komprimierte Zeichenfolge allein ist 151 130 Bytes.

Das ist nicht kurz, aber es hat wirklich Spaß gemacht zu schreiben.

@t=split//,"_|\\/\n()V',`";$b.=substr unpack("B8",chr(-48+ord)),2,6 for split//,'Ph?`@Ooooo1l410````0066600?03l0001PP06600HHB1Q064L4D<8h8^::<DLL4@J0032>1D<90h<>00hHI@6QhYllLX3@`hHI@1Q04P@1Q04@002080R001I^80a074001Q07208P0B0X34ooo`ST';$b=~s/(1)|(0.{4})/$1?" ":$t[ord pack"B8","000$2"]/eg;print$b

@t=split//," _|x"x4 ."\\/\n()V',`";$b.=substr unpack("B8",chr(-48+ord)),2,6 for split//,'4100A0000000001017:8R5HR5@1@05E15R5R;:9Ra4`8\\A<0<30a`<C4C2=URa7PRbP@PG4R<g@P<3D=C4cM288S=RK:HV`EVK1G<d0`LL74`EaV2K1Mg=db0000002ab';$b=~s/1(1.{4})|(..)/$t[ord pack"B8","000".($2?"000$2":$1)]/eg;print$b
user2905252
quelle
1

Perl, 346 Bytes

Die komprimierte Zeichenfolge allein hat 111 Byte.

@t = split//, " _|\\/\n()V',`";
$k=[0,[1,[2,[[3,4],[[5,6],[7,[[8,9],[10,11]]]]]]]];

$b .= substr unpack("B8", chr(-48+ord)), 2, 6 for split//,'@P900000PBlc<b[<bX:0ZXUIUIVlcFKZLI^Y`LLMhjjW<oJcMGncNHS5MIW]l`ho3lMNgc<IW]V]i[=KUF]KUG[hL^l^^EMeSFiGmNggP001^Pl';

$d = $k;
$o.=$d=~/^\d/?$t[$s=$d,$d=$$k[$_],$s]:($d=$$d[$_],"")for split//,$b;
print $o

Als key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2))) ich versuchte zu verstehen, was die Python- Version tat, erstellte ich eine sehr ähnlich aussehende Perl-Version.

user2905252
quelle
1

PHP 590

offensichtlich versuche ich nicht zu gewinnen, habe mich nur für ein anderes Komprimierungsschema interessiert, obwohl es nicht einmal die einfachere 302-PHP-Lösung zum einfachen Kopieren und Einfügen schlagen kann

Es funktioniert als Bitmap auf 10 Kanälen

"Golf"

<? $l=['_'=>['l8kqo,ei','9uo6,2fko0','52m0w,5r1c','540lc,5maq','lifeo,19i7ai'],'|'=>[0,'1h39j4,105','1h2k8w,q9x','14l2jk,wlx','1h39j4,wlc','1s,0'],'/'=>[2=>'b9c0,n3kao','pa8,18y68','0,mihog','w,0'],'\\'=>[2=>'pc5,a0zy8','2,0','b9c1,am2kg'],'('=>[3=>'e8,b8lc','1s,4'],')'=>[3=>'3k,2t4w','g,1'],'V'=>[3=>'0,18y680'],'`'=>[2=>'0,g'],"'"=>[2=>'0,6bk'],','=>[4=>'0,g'],];$p=@str_pad;$b=@base_convert;$i=-1;while($i++<5){$h=' ';foreach($l as$c=>$r)if(@$r[$i]){$a=explode(',',$r[$i]);$d=str_split($p($b($a[0],36,2),27,0,0).$p($b($a[1],36,2),27,0,0));foreach($d as$j=>$v)$v&&$h[$j]=$c;}echo"$h\n";}

lesbar

<?php
$l = ['_'=>['l8kqo,ei','9uo6,2fko0','52m0w,5r1c','540lc,5maq','lifeo,19i7ai'],
      '|'=>[0,'1h39j4,105','1h2k8w,q9x','14l2jk,wlx','1h39j4,wlc','1s,0'],
      '/'=>[2=>'b9c0,n3kao','pa8,18y68','0,mihog','w,0'],
     '\\'=>[2=>'pc5,a0zy8','2,0','b9c1,am2kg'],
      '('=>[3=>'e8,b8lc','1s,4'],
      ')'=>[3=>'3k,2t4w','g,1'],
      'V'=>[3=>'0,18y680'],
      '`'=>[2=>'0,g'],
      "'"=>[2=>'0,6bk'],
      ','=>[4=>'0,g'],
      ];
$p=@str_pad;
$b=@base_convert;
$i=-1;
while($i++<5){
    $h = str_repeat(' ',54);
    foreach($l as $c=>$r)
        if(@$r[$i]){
        $a = explode(',',$r[$i]);
        $d = str_split($p($b($a[0],36,2),27,0,0).$p($b($a[1],36,2),27,0,0));
        foreach($d as$j=>$v)
            if ($v)
                $h[$j]=$c;
        }
    echo "$h\n";
}
Einacio
quelle
1

Pylongolf2, 300 Bytes

" _   _      _ _                             _     _ _
| | | | ___| | | ___    __      _____  _ __| | __| | |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)
                    |/"~

Ich konnte keine erstklassigen Codierungsmethoden finden, daher nehme ich wahrscheinlich nicht an Wettbewerben teil.


quelle
0

Golf-Basic 84, 325

:"                     "_Str1t` _   _      _ _ "d`Str1d`Str1t`_     _ _"t`| | | | ___| | | ___    __      _____  _ __| | __| | |"t`| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |"t`|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|"t`|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)"t`                    |/"

Angenommen, ein Taschenrechner druckt Backticks, Backslashes, einzelne Pipes und Unterstriche.

Timtech
quelle
0

HTML + JS (223 Unicode-Zeichen)

Nur zum Spaß:

<body onload=p.innerHTML=unescape(escape("𘁟𘀠𘁟𘀠𘀠𘀠𧰠𧰠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𧰠𘀠𘀠𧰠𧰊𯀠𯀠𯀠𯀠𧱟𧱼𘁼𘁼𘁟𧱟𘀠𘀠𧱟𘀠𘀠𘀠𧱟𧱟𧰠𘁟𘁟𧱼𘁼𘁟𧱼𘁼𘁼𒡼𘁼𧱼𘁼𛰠𧰠𧀠𯀠𯀯𘁟𘁜𘀠𘁜𘁜𘀯𧀠𛰠𛰠𧰠𧁼𘀧𧱟𯀠𯀯𘁟𨀠𯀠𯀊𯀠𘁟𘀠𯀠𘁟𧰯𘁼𘁼𘀨𧰩𘁼𘀠𘁜𘁖𘀠𥠠𛰠𚁟𚐠𯀠𯀠𘁼𘁼𘀨𧱼𘁼𧱼𒡼𧱼𘁼𧱼𧁟𧱟𯁟𯁟𯁜𧱟𧰨𘀩𘀠𘁜𧰯𧁟𛰠𧁟𧱟𛱼𧱼𘀠𯁟𯁜𧱟𛁟𚁟𚐊𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𯀯").replace(/uD./g,''))><pre id=p>

NB: Sie müssen es in einer "UTF-8 with BOM" HTML-Datei speichern.

xem
quelle
Nett. Funktioniert auch ohne Stückliste (Firefox 26 / Chromium 31), sofern die Codierung auf UTF-8 oder automatische Erkennung eingestellt ist. Leider entspricht es nicht den angegebenen Regeln ("Programm muss vollständig aus druckbaren ASCII-Zeichen bestehen"). :-(
Ilmari Karonen
Ich weiß, es war nur zum Spaß;)
Xem
0

PowerShell , 220 Byes = Skript: 9 + Archiv: 211

tar xOf t

Probieren Sie es online!

Das Powershell-Skript zum Erstellen des Archivs t(siehe TIO):

(
" _   _      _ _                             _     _ _",
"| | | | ___| | | ___    __      _____  _ __| | __| | |",
"| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |",
"|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|",
"|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)",
"                    |/"
) | Set-Content f -Force
tar zcfo t f
Get-ChildItem t # output info about archive size
mazzy
quelle