L'objectif est de produire une sortie de n carrés (nxn) d'entiers aléatoires ( 0-9
) avec un mouvement *
qui tourne dans le sens des aiguilles d'une montre autour des coins, en partant du haut à gauche. Les carrés doivent être côte à côte et séparés par un seul espace.
Si n = 0
, la sortie doit être vide.
Sortie pour n=1
:
*
Sortie pour n=2
:
*3 4*
14 07
Sortie pour n=3
:
*34 82* 291
453 224 924
145 158 57*
Sortie pour n=4
:
*153 135* 0154 0235
2352 5604 3602 2065
2245 6895 3561 7105
7225 5785 479* *662
Remarquez comment le *
tourne (autour des coins du carré), de gauche à droite, comme ceci: en haut à gauche, en haut à droite, en bas à droite, en bas à gauche, en haut à gauche, etc. (dans le sens des aiguilles d'une montre)
La réponse la plus courte (mesurée en octets) l'emporte.
*
s dans l'n=4
exemple? Peut-être donner d'autres exemples?*153
, la seconde avec la rangée supérieure*135
, etc.Réponses:
05AB1E ,
5049 octetsExplication
Exemples de saisie = 4.
D'abord, nous créons une chaîne d'entrée ^ 3 nombres aléatoires entre 0 et 9.
produire
Ensuite, nous avons divisé cela en morceaux chacun de la taille de l'entrée.
C'est encore divisé en morceaux d'entrée.
Cela nous donne une matrice de nombres.
Nous faisons ensuite une boucle sur les lignes de la matrice, en insérant des astérisques aux bons endroits.
Nous avons maintenant la matrice avec un "*" sur chaque ligne, mais nous voulons un astérisque par colonne.
Nous avons donc compressé cette liste en transformant les lignes en colonnes et vice versa.
Il ne reste plus qu'à formater la sortie.
Joindre les lignes sur les espaces et les colonnes sur les nouvelles lignes nous donne le résultat final.
Essayez-le en ligne!
Ancienne solution de 50 octets
la source
Dyalog APL , 57 octets
Requiert
⎕IO←0
ce qui est par défaut sur de nombreux systèmes.En supposant que le double espacement est autorisé, selon le premier exemple du PO.
TryAPL en ligne!
Solution de 49 octets non concurrente (Dyalog APL 16.0):
la source
Java 7,
372370366 octetsPeut probablement être joué un peu plus en plaçant les astérisques et en créant la sortie en même temps, au lieu d'un par un.
Code non testé et testé:
Essayez-le ici.
Sortie possible:
la source
PHP, 181 octets
la source