Problème
Étant donné un entier positif n
oùn < 100
Sortez un motif de diamant comme suit:
Contribution n=1
/\/\
\/\/
Entrée n=2
:
/\ /\
//\\/\/\//\\
\\//\/\/\\//
\/ \/
Entrée n=3
:
/\ /\
//\\ /\ /\ //\\
///\\\//\\/\/\//\\///\\\
\\\///\\//\/\/\\//\\\///
\\// \/ \/ \\//
\/ \/
Entrée n=4
:
/\ /\
//\\ /\ /\ //\\
///\\\ //\\ /\ /\ //\\ ///\\\
////\\\\///\\\//\\/\/\//\\///\\\////\\\\
\\\\////\\\///\\//\/\/\\//\\\///\\\\////
\\\/// \\// \/ \/ \\// \\\///
\\// \/ \/ \\//
\/ \/
Etc.
Règles
- Programme et fonction autorisés.
- Espace de fin autorisé.
- Espaces en tête sur les lignes sans
/
ou\
autorisés. - Traitements et sauts de ligne autorisés.
- Code le plus court en octets gagnant
Réponses:
SOGL V0.12 , 24 octets
Essayez-le ici!
Explication:
la source
╬
c'est une commande malade.╬
lolFusain ,
3027 octetsEssayez-le en ligne! Le lien est vers la version détaillée du code. Explication: les primitives de dessin du fusain ne peuvent pas tout à fait dessiner un diamant, car les mouvements diagonaux restent sur des carrés de la même parité. Modifier: La nouvelle solution consiste à dessiner un côté d'un diamant, puis à faire pivoter la toile entière prête à dessiner le côté suivant, permettant à un diamant d'être dessiné en boucle. Cette boucle est ensuite contenue dans une boucle pour dessiner tous les diamants intérieurs pour chaque diamant. La boucle la plus à l'extérieur attire tous les diamants les uns à côté des autres. Enfin, l'image est reflétée.
Notez que Charcoal a depuis été étendu et qu'un autre octet pourrait être enregistré en utilisant
Increment
.la source
APL (Dyalog) ,
706966 octetsEssayez-le en ligne!
Suppose
⎕IO←0
, qui est standard sur de nombreux systèmes, donc le programme est indexé 0.Il s'agit d'un tradfn qui accepte les données via STDIN.
Explication
(légèrement dépassé)
Notez qu'il
⍺
s'agit de l'argument gauche, de⍵
l'argument droit et de⍺⍺
l'opérateur gauche.B
est une fonction qui aide à refléter les diamants. Il prend la chaîne comme argument de droite et la fonction inverse comme gauche (toutB
comme un opérateur).Et maintenant, nous allons à la partie principale du programme.
Cela est nécessaire pour garantir que tous les triangles créés pour chaque élément de la plage
⌽⍳A
ont la même hauteur afin de pouvoir ensuite être concaténés les uns avec les autres.La partie supérieure gauche du motif est maintenant terminée. Il ne reste plus qu'à le retourner verticalement puis horizontalement.
Et c'est tout! La sortie est une matrice de caractères avec
/\
s et remplie d'espaces.la source
05AB1E ,
47434135343332 octetsEssayez-le en ligne!
(-4 octets grâce à @Emigna qui a suggéré 3 améliorations)
Cette explication concernait la version précédente, il y a eu quelques itérations depuis lors.
la source
η
au lieu de suffixes car ils sont identiques pour cette chaîne.N£
est le même¨
qu'ici et l'€R
estí
.CJam ,
6563 octetsEssayez-le en ligne!
Explication
Dans cette explication, je ferai référence au numéro d'entrée comme
n
.la source
e#
dans l'explication?#
n'est pas un commentaire dans CJam - sourceforge.net/p/cjam/wiki/Basic%20operators/#number-sign - même si c'est dans de nombreuses autres langues. Étant donné que CJam est un langage de golf, toutes les commandes à un caractère sont utilisées pour des fonctionnalités adaptées au golf. Les commentaires ne sont utiles que pour le code non golfé, il utilise donc une séquence de 2 caractères, libérant ainsi la séquence d'un caractère pour autre chosePython 2 ,
152147143140 140 octets-1 octet grâce à musicman523
Essayez-le en ligne!
Cela fonctionne en coupant les colonnes intérieures du plus grand diamant pour en faire des plus petites, en utilisant
[0,..,n,n,..,0]
pour contrôler la quantité de colonnes à supprimer.la source
r=r+
enr+=
Pyth,
3532 octetsSuite de tests
Fait pour voir comment mes approches et celles de @ LeakyNun différeraient.
la source
Dyalog APL, 46
la source
{}
à votre réponse car ils doivent être inclus.Pyth , 49 octets
Essayez-le en ligne!
la source
V , 38 octets
Essayez-le en ligne!
la source