Vous devez écrire un programme ou une fonction dans n'importe quel langage qui génère ce modèle:
~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~
|~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||~|
||~|||||||||||||||||||||||||||||||||||||||||||||||||||||||~||
|||~|||||||||||||||||||||||||||||||||||||||||||||||||||||~|||
||||~|||||||||||||||||||||||||||||||||||||||||||||||||||~||||
|||||~|||||||||||||||||||||||||||||||||||||||||||||||||~|||||
||||||~|||||||||||||||||||||||||||||||||||||||||||||||~||||||
|||||||~|||||||||||||||||||||||||||||||||||||||||||||~|||||||
||||||||~|||||||||||||||||||||||||||||||||||||||||||~||||||||
|||||||||~|||||||||||||||||||||||||||||||||||||||||~|||||||||
||||||||||~|||||||||||||||||||~|||||||||||||||||||~||||||||||
|||||||||||~|||||||||||||||||~|~|||||||||||||||||~|||||||||||
||||||||||||~|||||||||||||||~|||~|||||||||||||||~||||||||||||
|||||||||||||~|||||||||||||~|||||~|||||||||||||~|||||||||||||
||||||||||||||~|||||||||||~|||||||~|||||||||||~||||||||||||||
|||||||||||||||~|||||||||~|||||||||~|||||||||~|||||||||||||||
||||||||||||||||~|||||||~|||||||||||~|||||||~||||||||||||||||
|||||||||||||||||~|||||~|||||||||||||~|||||~|||||||||||||||||
||||||||||||||||||~|||~|||||||||||||||~|||~||||||||||||||||||
|||||||||||||||||||~|~|||||||||||||||||~|~|||||||||||||||||||
La sortie est composée de 20 lignes de 61 caractères chacune.
Règles
- Les failles standard sont interdites
- Il peut y avoir une seule nouvelle ligne à la fin de la sortie
- Il ne doit y avoir aucun espace de fin sur aucune ligne de la sortie
Sans une nouvelle ligne de fin, la somme de contrôle md5 de la sortie est fde4e3b4606bf9f8c314131c93988e96
.
Avec une nouvelle ligne de fin, la somme de contrôle md5 de la sortie est 1f0b43db4fec6594be202c8339024cb7
.
Il s'agit de code-golf , donc le code le plus court en octets l'emporte.
Réponses:
C (gcc) ,
97828180 octetsGolfé 15 octets après avoir appris qu'il
abs
s'agit d'un C intégré, un octet supplémentaire grâce à Rogem pour avoir souligné que les déclarations de mes variables peuvent être déplacées vers la fonction, et un autre octet grâce à plafondcat pour avoir suggéré à lax=31;--x+31
place dex=-31;++x<31
.Essayez-le en ligne!
Cela sort avec une nouvelle ligne de fin. La fonction
f
effectue la sortie.Explication
La sortie peut être indiquée sous forme de graphique.
(Le
+
s ne sont présentés qu'à des fins d'explication et représentent les axes.)L'équation de ce graphique esty=abs(10−abs(x)) comme on peut le voir ici dans ce lien vers un graphique de Desmos .
En fonction
f
, nous avons deux boucles for qui parcourent chaque coordonnée de ce graphique.y
va de20
à1
et x va de-30
à30
.Pour chaque
x
, nous vérifions siabs(10-abs(x))
est égaly
en faisantabs(10-abs(x))-y
dans un ternaire. S'ils sont égaux, cela donne0
une valeur de falsey en C, sinon il sera évalué à une valeur positive. Puis dans le ternaireabs(10-abs(x))-y?"|":"~"
, nous enprintf
conséquence.Et après chaque ligne, nous sortons une nouvelle ligne en utilisant
puts("")
, et c'est ainsi que la fonction sort avec une nouvelle ligne de fin.la source
f(x,y)
au lieu dex,y;f()
Fusain ,
1615 octets-1 octet grâce à notjagan
Essayez-le en ligne!
la source
M
et en se déplaçant implicitement.R ,
7067 octets3 octets grâce à Giuseppe.
Essayez-le en ligne!
la source
""
par un1
pour -1.Gelée ,
1816 octetsEssayez-le en ligne!
la source
Python 2.7,
163138135 13513311391 octetsEssayez-le en ligne!
Edit 1: -25 octets: changé l'algorithme après que je me sente un peu ambitieux. : P
Edit 2: -3 octets: avec la permission de Felipe Nardi Batista
Modifier 3: -2 octets: courtoisie shooqie
Modifier 4: -20 octets: courtoisie notjagan
Edit 5: -22 octets: avec la permission de Leaky Nun
la source
a,b,c='1','2','3'
est le mêmea='1';b='2';c='3'
et le même que de placer chacun dans sa propre ligne, mais vous pouvez gagner des octets en déballant des chaînes commea,b,c='123'
n<m
plus court quen-m<0
?/// , 231 octets
Essayez-le en ligne! Ou regardez-le interactivement ici !
la source
WendyScript , 65 octets (exclure la nouvelle ligne)
Essayez-le en ligne!
Suit le même principe que la réponse C donnée ci-dessus. La première ligne est la
abs
fonction, la deuxième ligne en exécute deux pour les boucles et les sorties~
ou en|
fonction du graphique. Le dernier""
est utilisé pour sortir une nouvelle ligne après chaque boucley
.la source
abs
fonction par rapport à la fonction principale.Vim, 59 octets
Où
^[
est la<ESC>
cléla source
:11<CR>
peut être11G
Japt , 32 octets
Essayez-le en ligne!Assurez-vous d'agrandir la zone de sortie.
Explication
Réglez
U
sur|
répété 20 fois.Défini
V
sur la plage[0,9]
(AÆ
) mappée par:U
(implicite) avec le caractère à l'indexX
(valeur actuelle) défini sur (h
)~
.Réglez
W
surV
chaque ligne avec une rotation de 10 (A
) caractères vers la droite.Créer un tableau:,
V, W, U
etV
avec chaque ligne inversée (w
). C'est maintenant la moitié gauche de la forme, tournée de 90 ° vers la gauche.Aplatissez le tableau (
c
), palendromisez-le ( ), faitesê
-le pivoter de 90 ° vers la droite (z
) et joignez-le à des nouvelles lignes (·
).la source
Pinceau , 36 octets
non compétitif
Explication
Cela me rappelle que je dois ajouter une opération miroir.
la source
Octave ,
1575754 octetsGolfé plus bas, grâce aux autres réponses et commentaires.
Je l'ai juste approché comme l'autre réponse avec la fonction abs (10-abs (x)), puis j'ai utilisé les bons caractères ASCII pour imprimer l'image.
la source
Pyth , 22 octets
Essayez-le en ligne!
la source
V , 30 octets
Essayez-le en ligne!
la source
Gelée , 18 octets
Essayez-le en ligne!
la source
Bubblegum , 90 octets
Essayez-le en ligne!
la source
MathGolf , 22 octets
Essayez-le en ligne!
Explication
Il est probablement possible de jouer au golf à 2-3 octets de cela, je vais voir ce que je peux faire.
la source
C (gcc) , 75 octets
Essayez-le en ligne!
Totalement changé depuis la réponse du charlatan des vaches
la source
Positron , 165 octets
Essayez-le en ligne!
Je pense que Positron contient trop de bugs. Je devrais le mettre à jour sur TIO, car
++
cela fonctionnera.la source
Mathematica,
7875 octetssauf que le
\n
est remplacé par une nouvelle ligne réelle. Essayez-le en ligne! (Il y a des espaces supplémentaires au début des lignes en mathématiques pour une raison quelconque, mais cela fonctionne bien dans Mathematica .)J'ai présenté ma propre soumission, mais ensuite Kritixi Lithos a ajouté une explication de la leur et elle était assez similaire à la mienne mais en utilisant une formule légèrement plus intelligente, alors maintenant ce n'est qu'un portage de cette réponse. (Allez lire celui-là et votez!)
la source
Bubblegum , 93 octets
Essayez-le en ligne!
la source
JavaScript (ES6), 87 octets
la source
Lua, 193 octets
Notez que Lua ne peut pas imprimer quelque chose sans créer une nouvelle ligne. Pour cette raison, je dois enfreindre l'une des règles.
Minimisé dans une large mesure:
Certains changements ont été effectués lors de la minification, ce qui rend le programme moins extensible mais plus petit.
Essayez: https://tio.run/##PY7LCoMwEEX3@YqQVVJTcWwRCp0vKV1oNa1QJ0UjGPr49TRq6eoO91wOcx/LEDp8vs1IF9da4lc5aa9aI6djkSt3a4h1pynxmwLOKD5iJog7sD2Pmf9yD@u0QrKOV6yhmkVTAtonUla8pHoLKm5BqZmtHHSmTCw9ZhoOvLZsQCHMogRdwNoMaSr/L9hevMSiePQtOTnMdwhf
Je ne sais pas si quelqu'un l'a déjà fait auparavant, mais j'ai essayé de minifier en chargeant le programme sous forme de chaîne et en utilisant gsub (rechercher / remplacer). Malheureusement, cela a agrandi le programme. Cependant, si ce programme était suffisamment grand, il donnerait moins d'octets.
En raison de sa relative proximité avec le résultat réel (240 octets, seulement 41 de plus), j'ai pensé que je le publierais. Si ce programme comptait plus de 350 octets, il y aurait probablement eu une réduction.
la source
Java 8, 113 octets
J'ai l'impression que les chèques (
j==i|j+i==60|i>9&(j-i==20|j+i==40)
peuvent certainement être joués en combinant en quelque sorte plusieurs chèques en un seul.Explication:
Essayez-le ici.
la source
Perl 5 , 79 octets
Essayez-le en ligne!
la source
Tcl , 104 octets
Essayez-le en ligne!
Tcl , 105 octets
Essayez-le en ligne!
Tcl , 109 octets
Essayez-le en ligne!
Tcl,
143 133 123 123110Encore très peu golfé, mais je vais le faire évoluer après:
démo
la source
05AB1E ,
2019 octetsEssayez-le en ligne.
Explication:
20Ýû31∍û
génère la liste:la source