Schreibe ein Programm oder eine Funktion , die, da eine ganze Zahl n, eine Anordnung mit dem Konstrukt nDimensionen nLänge, wobei jedes Element ein Identifizierer des eigenen Koordinaten. Das heißt, beginnend mit einem Array, füllen Sie es mit nArrays, wobei jedes Array nmehr Arrays enthält, bis zu einer Tiefe von n-1. Die Elemente der tiefsten Felder sind die Koordinaten, die beschreiben, wo sie sich im vollständigen Feld befinden.
Einige Beispiele für den Fall, dass meine Erklärung verwirrend war.
n = 1
["1"]
n = 2
[
["11", "12"],
["21", "22"]
]
n = 3
[
[
["111","112","113"],
["121","122","123"],
["131","132","133"]
],
[
["211","212","213"],
["221","222","223"],
["231","232","233"]
],
[
["311","312","313"],
["321","322","323"],
["331","332","333"]
]
]
Hier bedeutet "321", dass es sich um das 1. Element des 2. Elements des 3. Arrays handelt.
Regeln:
- Koordinaten und Dimension (
n) können entweder mit 0 oder 1 indiziert werden - Sie können davon ausgehen
n, dass beide Indizierungsoptionen einstellige Werte unter 10 aufweisen, um mehrdeutige Ausgaben zu vermeiden - IO ist flexibel.
- Insbesondere können Koordinaten Arrays, Strings usw. sein, solange sie klar sind. "321" => [3,2,1]
- Die Ausgabe kann Ganzzahlen in der Basis 10 mit oder ohne führende Nullen sein.
- Die Koordinaten können auf Wunsch in umgekehrter Reihenfolge angegeben werden, solange sie konsistent sind. 321 => 123
- Die Ausgabe muss nicht unbedingt eine Array-Struktur in Ihrer Sprache sein. Solange es eindeutige Markierungen für den Anfang eines Arrays, das Ende eines Arrays und zum Trennen von Elementen gibt.
- Die Ausgabe für
n=1kann nur 1 sein - Wenn Ihre Ausgabe untypisch ist, stellen Sie sicher, dass Sie das Format erklären.
- Das ist Code-Golf, also gewinnt die kürzeste Lösung in jeder Sprache!
data L a = L [L a] | E a.
Int -> [String]oder Int -> [[String]]so haben, je nachdem, wie der Eingang lautet