Défi:
Entrée: Un entier positif
Sortie:
Créez une liste dans la plage et joignez-la à une chaîne (c.-à-d. serait la chaîne ).12345678910111213
Maintenant, nous sortons un triangle en utilisant les préfixes ou suffixes de cette chaîne, dans l'une des quatre orientations suivantes en fonction de l'entier d'entrée:
- Si , sortez-le en forme de triangle ◣
- Si , sortez-le en forme de triangle ◤
- Si , sortez-le en forme de triangle ◥
- Si , sortez-le en forme de triangle ◢
Exemple:
Entrée:
Parce que , la forme sera ◤. Voici trois sorties valides possibles:
12345678910111213 11111111111111111 12345678910111213
1234567891011121 2222222222222222 2345678910111213
123456789101112 333333333333333 345678910111213
12345678910111 44444444444444 45678910111213
1234567891011 5555555555555 5678910111213
123456789101 666666666666 678910111213
12345678910 77777777777 78910111213
1234567891 8888888888 8910111213
123456789 999999999 910111213
12345678 11111111 10111213
1234567 0000000 0111213
123456 111111 111213
12345 11111 11213
1234 1111 1213
123 222 213
12 11 13
1 3 3
Règles du défi:
- Comme vous pouvez le voir sur les trois sorties valides ci-dessus, seule la forme correcte et l'utilisation de tous les chiffres dans le bon ordre sont importantes. En dehors de cela, vous êtes libre d'utiliser des préfixes ou des suffixes; inverse / réfléchit; impression diagonale; etc. etc. N'importe laquelle des six sorties possibles pour chaque forme est autorisée (voir le cas de test ci-dessous pour voir toutes les sorties valides en fonction de la forme). Cela permet aux langues avec des rotations intégrées de l'utiliser, mais celles sans peuvent également utiliser une approche alternative consistant à utiliser les préfixes de la bonne taille de haut en bas, ou à utiliser les préfixes pour deux des formes mais des suffixes pour les deux autres formes . Le choix des options de sortie les plus appropriées pour votre langue fait partie du processus de golf. :)
- L'entrée est garantie comme un entier positif. Pour nous sortons simplement .
1
- N'importe quel nombre de nouvelles lignes / espaces de début / fin est autorisé, tant qu'il imprime le triangle correct (sans délimiteurs verticaux ou horizontaux!) Quelque part sur l'écran.
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues autres que le golf de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse avec des règles d'E / S par défaut , vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code (par exemple TIO ).
- De plus, l'ajout d'une explication à votre réponse est fortement recommandé.
Cas de test:
Entrée:
Toutes les sorties valides possibles:
12345 54321 12345 54321 11111 55555
1234 5432 2345 4321 2222 4444
123 543 345 321 333 333
12 54 45 21 44 22
1 5 5 1 5 1
Entrée:
Toutes les sorties possibles:
123456 654321 123456 654321 111111 666666
12345 65432 23456 54321 22222 55555
1234 6543 3456 4321 3333 4444
123 654 456 321 444 333
12 65 56 21 55 22
1 6 6 1 6 1
Entrée:
Toutes les sorties possibles:
1 1 7 7 7 1
12 21 67 76 66 22
123 321 567 765 555 333
1234 4321 4567 7654 4444 4444
12345 54321 34567 76543 33333 55555
123456 654321 234567 765432 222222 666666
1234567 7654321 1234567 7654321 1111111 7777777
Entrée:
Toutes les sorties possibles:
1 1 8 8 8 1
12 21 78 87 77 22
123 321 678 876 666 333
1234 4321 5678 8765 5555 4444
12345 54321 45678 87654 44444 55555
123456 654321 345678 876543 333333 666666
1234567 7654321 2345678 8765432 2222222 7777777
12345678 87654321 12345678 87654321 11111111 88888888
Entrée:
Seule sortie possible:
1
Entrée:
Toutes les sorties possibles:
12 21 12 21 11 22
1 2 2 1 2 1
n==13
, la ligne du haut peut-elle être'33333333333333333'
(ou, de manière équivalente'31211101987654321'
)?mod 4
sont des paires strictes pour ce défi. Vous ne pouvez donc pas changer les quatre formes pour les quatremod 4
cas. Mais bonne question quand même.Réponses:
JavaScript (ES6),
9389 octetsRenvoie une matrice de caractères.
Essayez-le en ligne!
Motif alternatif (même taille):
Essayez-le en ligne!
Commenté
Résumé de la forme
map
sort
la source
Python 2 , 94 octets
Essayez-le en ligne!
la source
Japt , 8 octets
Renvoie un tableau de lignes.
Essayez-le
Enregistré 2 octets grâce à Kevin .
la source
ú
nécessaire? Il semble que la rotation le fasse implicitement?z
.Toile , 8 octets
Essayez-le ici!
la source
Perl 6 , 94 octets
Essayez-le en ligne!
Bloc de code anonyme qui prend un nombre et renvoie une liste de lignes.
la source
Fusain , 17 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
Entrée
n
.Créez une chaîne en concaténant les nombres
1
àn
.Remplissez un triangle de cette longueur avec la chaîne.
Faites pivoter le triangle dans le sens antihoraire par
n*90
degrés.Refléter tout, se terminant ainsi par un triangle qui est tourné dans le sens horaire par
n*90
degrés.la source
C # (Visual C # Interactive Compiler) , 128 octets
Essayez-le en ligne!
la source
Rubis ,
958279 octetsEssayez-le en ligne!
3 octets enregistrés par G B.
la source
R ,
152139137134 octetsCode déroulé:
Essayez-le en ligne!
la source
APL + WIN, 45 octets
Demande un entier
Essayez-le en ligne! Gracieuseté de Dyalog Classic
la source
PowerShell , 108 octets
Essayez-le en ligne!
Un peu rude sur les bords mais ça marche. Joint les chiffres 1 à
n
une chaîne, puis itère de 0 à la longueur de cette chaîne-1. À chaque fois, il utilise l'indexation de liste pour basculer vers la méthode d'espacement et la plage de numéros utilisées pour découper notre nouvelle chaîne.la source
Gelée , 12 octets
Essayez-le en ligne!
la source
05AB1E (hérité) ,
141210 octetsL'utilisation de la version héritée comme réécriture est extrêmement lente à ce sujet pour une raison quelconque.
Enregistré 2 octets grâce à Kevin Cruijssen
Essayez-le en ligne!
Explication
la source
LJη€S
àLSη
, depuisS
aplanit implicitement.€S
ce qui n'a pas très bien fonctionné;)Stax , 10 octets
Exécuter et déboguer
la source
PowerShell ,
10510195 octets-4 octets remercie Arnauld pour l' astuce avec Sort .
Essayez-le en ligne!
Moins golfé:
la source
R ,
175172154 octetsEssayez-le en ligne!
Un horrible bordel en ligne!
-3 octets en modifiant la condition de rotation
-17 octets grâce à la suggestion de digEmAll , et un autre octet après avoir joué au golf encore plus loin
la source
Wolfram Language (Mathematica) , 137 octets
Essayez-le en ligne!
la source
Python 2 , 116 octets
Essayez-le en ligne!
la source
Rouge , 155 octets
Essayez-le en ligne!
la source
perl 5, 117 octets
TIO
la source
PHP ,
116111109 octetsEssayez-le en ligne!
Exécutez avec l'
php -nF
entrée deSTDIN
.$ echo 6|php -nF t.php
la source
Java (JDK) ,
247209188186160 160148 octetsEssayez-le en ligne!
-38 bytes
merci à @KevinCruijssen-21 bytes
en laissantprintf
gérer le rembourrage.-2 bytes
en faisant la sous-chaîne avant le remplacement, ce qui nous permet d'incrémenterl
à un endroit plutôt qu'à deux.-26 bytes
- avecprintf
le remplissage, la chaîne pleine d'espaces n'était plus nécessaire, et les chaînes de chiffres pouvaient apparemment être générées de manière plus courte.-12 bytes
en ne jouant pas avec des chiffres uniques au lieu d'imprimer des sous-chaînes de la chaîne de chiffres parfaitement utilisable que nous avons déjà.Non golfé
la source
for(
jouer au golf: les espaces après le peuvent être supprimés.new String(new char[w=s.length()]).replace('\0',' ')
peut" ".repeat(w=s.length())
utiliser Java 11+. Vous pouvez supprimer les parenthèses autour des vérifications ternaires.1>(i-1)%4/2
peut être1>~-i%4/2
.w-1-l++
peut êtrew+~l++
. Et vous n'avez pas à compter le point-virgule de fin dans le nombre d'octets. Le tout combiné devient 209 octets .