Das Ziel besteht darin, eine Ausgabe von n Quadraten (nxn) zufälliger Ganzzahlen ( 0-9
) mit einer Bewegung zu erzeugen *
, die sich von links oben beginnend im Uhrzeigersinn um die Ecken dreht. Die Quadrate sollten nebeneinander und durch ein einzelnes Leerzeichen getrennt sein.
Wenn n = 0
, sollte die Ausgabe leer sein.
Ausgabe für n=1
:
*
Ausgabe für n=2
:
*3 4*
14 07
Ausgabe für n=3
:
*34 82* 291
453 224 924
145 158 57*
Ausgabe für n=4
:
*153 135* 0154 0235
2352 5604 3602 2065
2245 6895 3561 7105
7225 5785 479* *662
Beachten Sie, wie sich die *
Drehung (um die Ecken des Quadrats) von links nach rechts wie folgt dreht: oben links, oben rechts, unten rechts, unten links, oben links usw. (im Uhrzeigersinn)
Die kürzeste Antwort (gemessen in Bytes) gewinnt.
*
s imn=4
Beispiel erklären ? Vielleicht noch ein paar Beispiele geben?*153
, die zweite mit der obersten Reihe*135
und so weiter.Antworten:
05AB1E ,
5049 BytesErläuterung
Beispiele für Eingabe = 4.
Zuerst erstellen wir eine Folge von Eingabe ^ 3 Zufallszahlen zwischen 0 und 9.
produzieren
Dann teilen wir das in Stücke von jeweils der Größe der Eingabe.
Das ist weiter in Eingabestücke aufgeteilt.
Dies gibt uns eine Matrix von Zahlen.
Wir durchlaufen dann die Zeilen der Matrix und fügen an der richtigen Stelle Sternchen ein.
Jetzt haben wir die Matrix mit einem "*" in jeder Zeile, aber wir möchten ein Sternchen pro Spalte.
Also komprimieren wir diese Liste und verwandeln Zeilen in Spalten und umgekehrt.
Jetzt müssen Sie nur noch die Ausgabe formatieren.
Wenn Sie die Zeilen in Leerzeichen und die Spalten in Zeilenumbrüchen zusammenfügen, erhalten Sie das Endergebnis.
Probieren Sie es online aus!
Alte 50-Byte-Lösung
quelle
Dyalog APL , 57 Bytes
Erfordert,
⎕IO←0
was auf vielen Systemen Standard ist.Die Annahme eines doppelten Abstands ist gemäß dem ersten Beispiel des OP zulässig.
TryAPL online!
Nicht konkurrierende 49-Byte-Lösung (Dyalog APL 16.0):
quelle
Java 7,
372370366 BytesKann wahrscheinlich noch mehr gespielt werden, indem die Sternchen platziert und gleichzeitig die Ausgabe erstellt werden, anstatt einzeln.
Ungolfed & Testcode:
Probieren Sie es hier aus.
Mögliche Ausgabe:
quelle
PHP, 181 Bytes
quelle