Le 13 mars est reconnu comme la Journée nationale du bijou , qui est le thème de ce défi. Donc, étant donné un entier n
où n
est supérieur à 0, créez un bijou ASCII. Par exemple:
n = 1 n = 2 n = 3
______
____ / \
__ / \ \ /
/ \ \ / \ /
\ / \ / \ /
\/ \/ \/
Le bas est défini comme le bas du bijou jusqu'à la plus haute paire de \/
. Le reste est le top. Pour l'exemple ci-dessus où n = 1
:
Bottom: \ / Top: __
\/ / \
Comme vous pouvez le voir, le fond est constitué de n + 1
couches de \/
avec des (1 * lines from the bottom) * 2
espaces entre un maximum de n
lignes à partir du bas du bijou. Si nous prenons le deuxième bijou ( n = 2
), nous pouvons voir que:
____
/ \
\ / 2 (or n) layers from the bottom with 1*2*2 or 4 spaces in between \/
\ / 1 layer from the bottom with 1*1*2 or 2 spaces in between \/
\/ The bottom (0 layers) with 1*0*2 spaces or 0 spaces in between \/
La partie supérieure est constituée d'une paire d' /\
avec les n*2
espaces entre les deux avec des n*2
traits de soulignement sur le dessus.
Règles
- Doit être capable de prendre des entiers positifs non nuls comme entrée utilisateur
- Doit créer un bijou avec les spécifications définies ci-dessus (reformulées ici):
- La partie supérieure est constituée d'une paire d'
/\
avec lesn*2
espaces entre les deux avec desn*2
traits de soulignement sur le dessus. - Le fond est constitué de
n + 1
couches de\/
avec des(1 * lines from the bottom) * 2
espaces entre les deux avec un maximum den
lignes à partir du bas du bijou.
- La partie supérieure est constituée d'une paire d'
- Les sauts de ligne après le bijou ou les espaces de fin sur chaque ligne sont autorisés.
- Aucune échappatoire standard autorisée
Critères gagnants
Le moins d'octets gagne!
Réponses:
Fusain , 17 octets
Code:
Explication:
Une commande très soignée est
‖M
, qui se reflète également automatiquement/
dans\
.Utilise l' encodage Charcoal .
Essayez-le en ligne!
la source
05AB1E ,
2720 octetsEssayez-le en ligne!
Explication
la source
D„/\„\/‡
pourÂ
.Python 2,
1019895 octetsEssayez-le en ligne!
Fonction anonyme qui prend un entier positif et renvoie une chaîne
Python 3.6, 92 octets (Merci à Ben Frankel)
Je n'ai pas pu trouver d'interprète en ligne pour cette version, mais il est un peu plus court en raison des chaînes f dans la v3.6
la source
lambda n:f' {"__"*n}\n/{" "*n}\\\n'+'\n'.join(' '*i+'\\'+' '*(n-i)+'/'for i in range(n+1))
. Profitant des f-cordes.PHP, 123 octets
143 octets première version
Essayez-le ici!
la source
V ,
282726 octets1 octets enregistrés grâce à @DJMcMayhem en utilisant
>
au lieu deÉ
<esc>
est0x1b
Essayez-le en ligne!
Hexdump:
Explication
Haut:
Bas:
la source
É<space>
à>
qui , à la fin d'une macro est implicitement rempli à>>
>
retrait d'un espace au lieu d'un onglet?set expandtab
etset shiftwidth=1
Röda , 71 octets
Essayez-le en ligne!
la source
JavaScript (ES6), 80 octets
la source
Python 3,
107105 octetsPrend un int de Stdin
la source
MATL , 34 octets
Essayez-le à MATL Online!
Explication
la source
PowerShell ,
76, 74 octetsRemarque: l'exemple en ligne contient un peu d'habillage comme démonstration. Placer dans une fonction ou un script PoSH à exécuter.
Essayez-le en ligne!
la source
' '*$i++
au lieu de' '*($n-$_)
.C, 131 octets
Essayez-le en ligne!
la source
i,j;f(n){for(p(" ");i++<n*2;p("_"));for(p("\n/%*c\n",n*2+1,92);j++<n+1;p("%*c%*c\n",j,92,(n-j)*2+3,47));}
Pyth, 44 octets
essayez-le!
explication
Le code se compose de 3 parties:
la source
Python3, 104 octets
Le programme prend un entier de STDIN et renvoie le bijou dans STDOUT.
la source
Pépin , 43 octets
42 octets de code, +1 pour l'
-n
indicateur.Prend l'entrée comme argument de ligne de commande. Essayez-le en ligne!
Explication
Construit les deux premières lignes séparément, puis le reste du bijou avec une opération de carte:
Une autre solution
Aussi 42 + 1 octets, cette fois avec le
-l
drapeau:TIO
la source
Pyth, 38 octets
la source
C, 115 octets
Essayez-le en ligne!
C, 123 octets
Bien que le défi ne l'exige pas, au détriment de 8 octets, la fonction peut être rendue réutilisable (la première solution économise 8 octets en s'appuyant sur l'initialisation implicite des variables globales).
Essayez-le en ligne!
la source
Lot, 152 octets
Tests:
la source
C #, 187 octets
Je suis sûr qu'il existe une solution plus compacte mais c'est ma première tentative:
Essayez-le en ligne ..
la source
JavaScript (ES6), 93 octets
Démo
Afficher l'extrait de code
la source
dc , 121 octets
Essayez-le en ligne!
la source
Perl 5
10994 + 1 (pour le drapeau -p) = 95 octetsEssayez-le en ligne!
Peut être exécuté comme suit:
Non golfé
Explication
la source