... m'aideras-tu à l'immortaliser?
J'ai cet oreiller depuis quelques années maintenant, et apparemment, il est temps de s'en débarrasser. Pouvez-vous s'il vous plaît écrire une fonction ou un programme, que je peux emporter avec moi et que je peux utiliser pour recréer cet oreiller chaque fois que je veux me rappeler un peu.
Cela doit fonctionner sans argument d'entrée.
La sortie devrait ressembler à ceci (les retours à la ligne et les espaces sont OK).
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
C'est le code de golf, donc le code le plus court en octets gagne!
Classement
code-golf
ascii-art
kolmogorov-complexity
Stewie Griffin
la source
la source
Réponses:
05AB1E ,
1815 octetsCode:
Explication:
Utilise le codage CP-1252 . Essayez-le en ligne!
la source
/// , 116 octets
Essayez-le en ligne!
Edit : le
\\\\\\\\\\\\\\\/
et\\\\\\\\\\\\\\\\
sont en réalité un simple / et \, respectivement.Edit : -3 parce que j'ai pensé à enlever
i
. Je pense que cela ne peut plus être joué au golf.la source
Python 2, 49 octets
Merci à Mitch Schwartz pour cette méthode propre qui enregistre un octet. L’idée est d’imprimer quatre lignes
('\\'*5+'/'*5)*6
, d’échanger les rôles de barre oblique et de barre oblique inverse, puis d’effectuer ce processus 6 fois. Les deux caractères sont stockés dansa
etb
, et échangés en tant quea,b=b,a
. La double boucle est double en générant la chaîne de code suivante, puis en l'exécutant avecexec
:50 octets:
Crée la chaîne de caractères, l’imprime quatre fois, puis l’inverse, puis 6 fois. Le fait en générant le code suivant, puis en l'exécutant:
Voici quelques unes des itérations de mon parcours de golf:
la source
05AB1E, 15 octets
Essayez-le en ligne!
Explication:
Utilise le codage CP-1252 .
la source
JavaScript (ES6),
686058 octetsUne fonction récursive. Plusieurs optimisations inspirées de chocochaos répondent .
Démo
Afficher l'extrait de code
la source
&1
et économiser deux octetsn < 480
. Pourn >= 480
, nous avions besoin entre parenthèses:(n/240^n/5)&1
.Bubblegum , 30 octets
Réponse Bubblegum obligatoire.
la source
Haskell,
777057 octetsEnnuyeux
concat
s etreplicate
s au lieu de jouer avec des sinus. Vieux était:la source
Brainfuck, 140 octets
:-RÉ
la source
Python 2,
8680767473 octetsPourrait probablement jouer un peu plus au golf mais c’est un début.
Modifier
Enregistré 6 en supprimant certains crochets inutiles
4 autres en utilisant une seule chaîne puis en l'inversant
Merci @Adnan. Eu une nuit tardive la nuit dernière et toujours pas encore complètement réveillé: p
-1 en déplaçant le
*24
à la variable au lieu de l'utiliser deux foisla source
*6*4
c'est la même chose que*24
? : pBrainfuck, 149 octets
Le meilleur interprète EVAR!
Cela utilise 6 cellules (pas d'emballage, pas de modulo). Les voici:
Les
00
cellules sont utilisées pour les compteurs de boucles. Ici, les compteurs sont remplis avec les valeurs initiales:Le compteur le plus à gauche est celui de la boucle la plus à l'intérieur (oui, j'utilise des boucles imbriquées de profondeur 3). Veuillez noter que la 4ème cellule (
04
compteur) est utilisée deux fois, une/////\\\\\...
fois pour\\\\\/////...
toutes et une fois pour toutes.0A
,2F
et5C
sont les caractères\n
,/
et\
, respectivement.la source
Python 2.7 66 -> 56 -> 55 octets
nouveau au code de golf
Merci Stewie Griffin
J'ai oublié un espace idiot;)
la source
d
ete
peut-être plus. Je ne l' ai pas testé, mais il devrait être proche:print(4*c+4*(6*b+"\n"))*3
. C'est 5 octets de moins.a="/"*5+"\\"*5;print(4*(6*a+"\n")+4*(6*a[::-1]+"\n"))*3
Brainfuck, 179 octets
Je sais que ce n'est pas le meilleur score du fil, mais je voulais essayer le brainfuck et l'essayer.
Edit: J'ai dû faire une erreur en copypasting. Cette version devrait fonctionner
la source
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
quatre fois, puis infinie\
.Dyalog APL , 24 octets
la source
'/\'[4⌿5/2|+/¨⍳6 12]
(nécessite⎕io←0
)Pyke, 16 octets
Après la mise à jour de ce jour
"
, 17 octets autorisés dans les littéraux de chaîneEssayez-le ici!
la source
MATL ,
1816 octetsEssayez-le en ligne!
Explication
la source
Pyth, 22 octets
Essayez ici .
Explication:
Désolé si l'explication est un peu difficile à comprendre, mais c'était un peu compliqué.
la source
V ,
2221 octetsEdit Un octet gagné, merci @DjMcMayhem:
Les changements sont:
Y4P
->4Ä
Utiliser V la ligne en double au lieu de la commande intégrée de Vim (cela ajoutera une ligne vierge à la fin du paragraphe)3äG
->3ä}
dupliquer le paragraphe au lieu de la totalité du tampon (pour éviter les lignes vierges générées par les modifications précédentes)Original post
Essayez-le en ligne
Décomposé comme ça:
la source
5á\5á/05ä$5Ä5x$p4Ä3äG
c'est- à- dire remplacerY4P
par4Ä
mais pour une raison que je ne comprends pas, copie une ligne vierge supplémentaire ... Si vous le pouvez m'éclairer sur celui-ci ce serait bien. Aussi, si je trouve un peu de temps libre, je contribuerais volontiers à la langue (en particulier le numéro 4 )Ä
c'est un synonyme dedd
, pasY
. Ce n'est généralement pas un problème, mais cela peut poser problème si le tampon n'a qu'une seule ligne ou si vous êtes sur la dernière ligne.3äG
avec,3ä}
car elle ne retirera pas la dernière ligne. v.tryitonline.net/…Gelée ,
17 à16 octetsEssayez-le en ligne!
Merci à 6710 (miles) pour -1 octet.
la source
⁾/\ẋ6Wẋ4;U$ẋ3x5Y
Y
!En fait , 21 octets
Essayez-le en ligne!
-1 octet d'Adnan
Explication:
la source
"/\"5*S
pour créer la chaîne de barres obliques?Ruby, 46 octets
Crée la chaîne suivante (70 caractères, un jeu de plus que nécessaire), puis alterne entre les caractères d'échantillonnage
0..59
et ceux-5..64
ci.code et sortie
erreur intéressante (un 7 au lieu d'un 5)
la source
APL, 30 octets
Je connais assez bien APL (j'utilise APLX, mais cela devrait fonctionner dans la plupart des implémentations d'APL). Il s'agit donc d'une solution assez simpliste.
Explication:
la source
C,
6661 octets5 octets sauvegardés grâce à orlp.
Impression directe caractère par caractère. 61 caractères par ligne, le dernier est Newline (ASCII 10) et les autres alternent entre
/
47 et\
92.la source
i;f(){for(i=1463;i;)putchar(i--%61?i%61/5+i/244&1?92:47:10);}
.i--
mais je n'ai pas eu le temps de le chercher.Python 2, 63 octets
Pour Python 3, procédez comme suit (65 octets):
la source
/////\\\\\/////...
quatre fois, séparées par des nouvelles lignesBrainfuck à modification automatique , 91 octets
Essayez-le en ligne!
Identique à ma réponse brainfuck , mais utilise les 3 derniers caractères du code source au lieu de les générer au moment de l'exécution.
la source
J,
312819 octetsUsage
la source
Octave,
5048 octetsFonction anonyme:
Vous pouvez essayer en ligne ici . Exécutez simplement la commande ci-dessus, puis exécutez la fonction avec
ans()
.Cela crée essentiellement un tableau de la valeur 47 qui est 4 haut et 5 large. Il crée ensuite un deuxième tableau de valeur 92 de même taille.
Les deux tableaux sont concaténés dans un damier de
[A B;B A]
. Le''
est également concaténé pour forcer la conversion en chaînes de caractères.Finalement, tout le tableau est répliqué 3 fois vers le bas et 6 fois pour former la taille finale.
la source
ans=
avant l'oreiller. Le fait de l’avoir dans la fonction permet de contourner ce problème car il est prévu de renvoyer la réponse à une variable plutôt que de l’afficher.ans()
). Ce qui est inutile, car imprimeans()
toujoursans
quand exécuté!ans()
est un handle de fonction appelable, vous n'avez donc pas besoin de l'assigner à quelque chose avec, par exemplea=@...
, parce qu'il est implicitement assigné àans
un handle. De plus, il ne s’imprime pasans=
lorsqu’il est exécuté à moins que vous ne le lui demandiez spécifiquement en ne faisant rien avec la valeur renvoyée et en n’ajoutant pas a;
. Si vous le faites,disp(ans())
cela n’imprimera que la sortie exacte (nonans=
). Mais oui, l'avertissement est agaçant, mais cela ne s'est pas produit auparavant. Ce n'est donc pas spécifique à la langue, mais à l'interpréteur.disp(ans())
avant d'obtenir votre sortie, vous devez ajouter 12 octets à votre réponse. Mon opinion personnelle est que c’est comme ça que Octave présente son résultat et c’est bien.PHP,
7369 octetsDémo
http://ideone.com/z7N1Md
la source
for($s='/\\';$i<1440;$i++)echo$i%60<1?'\n':'',$s[($i/5+($i/240|0))%2];
(remplacez le\n
par une vraie ligne).echo
n'est pas une fonction, donc, il n'a pas besoin de parenthèses. En outre,echo
peut recevoir plusieurs valeurs, séparées par une virgule. Cela supprime vraiment le besoin de ces parenthèses. Et puis, à l'intérieur de votre$s[...]
calcul, le calcul le plus externe n'a pas non plus besoin de parenthèses, puisqu'il est contenu dans[]
. L'utilisation$s[($i/5+($i/240|0))%2]
a le même effet et est plus courte.echo
etprint
accepter plusieurs paramètres. Maisprint
nécessite des parenthèses avec plusieurs paramètres lorsqu'il est utilisé sur l'incrément, la condition ou l'affectation d'une boucle.<1
changer cela , en changeant les expressionsecho$i%60?'':' ',
, nouvelle ligne en tant qu’expression 3 dans le ternaire.Java 7, 120 octets
Poussé tout dans une boucle. Beats Brainfuck, mission accomplie.
Voir en ligne: https://ideone.com/pZjma3
la source
Vim,
44 à27 octetsEDIT Beaucoup d'octets gagnés grâce à @DrMcMoylex:
Réponse originale:
Je ne suis pas sûr que cela corresponde vraiment aux règles de ce site, mais j'ai pensé que c'était amusant de l'essayer:
Ce qui peut être décomposé comme ceci:
la source
5i/<esc>5a\<esc>0y$5P
au début pour économiser 9 octets.Brainfuck, 168 octets
la source