Défi: produire la sortie suivante en utilisant le moins de caractères possible:
_ _ _ _ _ _ _
| | | | ___| | | ___ __ _____ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_)
|/
Règles et restrictions:
Vous ne pouvez pas utiliser FIGLet ou tout autre outil similaire. (Sinon, ce
figlet Hello, world!
serait une solution triviale et à peu près imbattable.)Votre programme doit être entièrement composé de caractères ASCII imprimables - en particulier, les points de code 9 (TAB), 10 (LF) et 32 - 126. (Si votre langue / votre système d'exploitation nécessite des sauts de ligne CRLF, vous pouvez les utiliser au lieu de LF simples.) Oui , cela disqualifie malheureusement toute langue nécessitant des caractères non ASCII (ou des données non textuelles) dans le cadre de sa syntaxe.
La sortie doit ressembler exactement à l'exemple ci-dessus. Vous pouvez cependant inclure des espaces supplémentaires autour de la sortie si vous le souhaitez. Vous pouvez supposer un espacement des tabulations de 8 caractères (ou le paramètre par défaut natif de la plate-forme que vous avez choisie, si elle est cohérente).
Ps. Pour établir le par, j'ai trouvé une solution Perl de 199 caractères. Je ne le publierai pas encore, cependant, au cas où quelqu'un le proposerait indépendamment. (De plus, c'est un peu ringard.) Bien sûr, cela ne devrait pas vous décourager de publier votre propre solution, même si elle est plus longue.
Mise à jour: Maintenant que han l'a battu d'un caractère, voici ma solution Perl de 199 caractères:
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'
Elle est très similaire à la solution de DC (et à toutes les autres solutions basées sur zlib / gzip dans différentes langues), sauf que j'ai utilisé codage uu au lieu de base64 pour le texte compressé et quelques autres astuces de golf mineures.
Mise à jour 2 : Je pense qu'il est temps d'accepter officiellement un gagnant. La première place revient au code PHP de konsolenfreddy , car, même si vous comptez les caractères, il est le plus soumis jusqu'à présent. En fait, le combiner avec le flux DEFLATE optimisé de mon code Perl de 199 caractères donne une solution encore plus courte de 176 caractères:
<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));
Cependant, je pense que han mérite une mention honorifique spéciale pour être si proche sans utiliser d'outils de décompression pré-écrits. Félicitations à vous deux et bonne année à tous!