Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die eine quadratisch-zufällig-symmetrische Matrix zurückgibt oder ausgibt.
Eingang
N : Die Größe der Matrix dh6 x 6
Ausgabe
Die Matrix. Sie können es entweder drucken, als String (mit den Zeilenumbrüchen) oder als Liste / Array von Listen / Arrays zurückgeben.
Regeln
Sie müssen mindestens
N
verschiedene Zeichen verwenden, wobeiN
die Größe der quadratischen Matrix (Eingabe) ist. Da wir nur Buchstaben [a, z] [A, Z] und Ziffern [0, 9] (und jeweils nur eine Ziffer) verwenden, können Sie davon ausgehen, dassN < 27
undN > 2
, das liegt daran, dassN <= 2
Sie nicht beide Buchstaben haben können und Ziffern. Last but not least muss jeder Buchstabe / jede Ziffer mit einer Wahrscheinlichkeit ungleich Null auftreten (eine gleichmäßige Verteilung ist nicht erforderlich). Das Ergebnis muss jedoch mindestensN
verschiedene Buchstaben / Ziffern haben.Die Matrix muss sowohl horizontal als auch vertikal symmetrisch sein.
Genau 2 Zeilen und 2 Spalten müssen nur eine einstellige Zahl enthalten (ihre Position sollte ebenfalls zufällig sein). Die restlichen Zeilen / Spalten enthalten nur Buchstaben. Betrachten Sie Buchstaben als [a, z] und [A, Z] und natürlich einstellige Zahlen als [0, 9].
Zur Vereinfachung können Sie davon ausgehen, dass die Groß - und Kleinschreibung der Buchstaben keine Rolle spielt, solange die Groß - und Kleinschreibung symmetrisch ist
a=A, b=B, etc
.Jede mögliche Ausgabe muss eine Wahrscheinlichkeit ungleich Null haben. Die Zufallsverteilung muss nicht einheitlich sein.
Beispiel
Eingabe : 8
Ausgabe :
c r p s s p r c
r k o z z o k r
u t 2 a a 2 t u
y n q z z q n y
y n q z z q n y
u t 2 a a 2 t u
r k o z z o k r
c r p s s p r c