Napisz program lub funkcję, która przy danej liczbie całkowitej nkonstruuje tablicę o nwymiarach ndługości, gdzie każdy element jest identyfikatorem własnych współrzędnych. To znaczy, zaczynając od jednej tablicy, wypełnij ją ntablicami, gdzie każda z nich zawiera nwięcej tablic, do głębokości n-1. Elementy najgłębszych tablic to współrzędne opisujące, gdzie znajdują się w pełnej tablicy.
Kilka przykładów na wypadek, gdyby moje wyjaśnienie było mylące.
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"]
]
]
Tutaj „321” oznacza, że jest to pierwszy element 2. elementu 3. tablicy.
Zasady:
- Współrzędne i wymiar (
n) mogą być indeksowane 0 lub 1 - Możesz założyć, że
njest to jedna cyfra, poniżej 10 dla obu opcji indeksowania, aby zapobiec niejednoznacznym wynikom - IO jest elastyczny.
- W szczególności współrzędne mogą być tablicami, łańcuchami itp., O ile są wyraźne. „321” => [3,2,1]
- Dane wyjściowe mogą być liczbami całkowitymi w bazie 10 z zerami wiodącymi lub bez nich.
- Jeśli chcesz, współrzędne mogą być w odwrotnej kolejności, o ile są spójne. „321” => „123”
- Dane wyjściowe niekoniecznie muszą być strukturą tablicową w Twoim języku. Tak długo, jak istnieją wyraźne wyraźne znaczniki dla początku tablicy, końca tablicy i do oddzielania elementów.
- Wynik dla
n=1może wynosić tylko 1 - Jeśli Twoje wyniki są nietypowe, wyjaśnij format.
- To jest golf golfowy, więc wygrywa najkrótsze rozwiązanie w każdym języku!
data L a = L [L a] | E a.
Int -> [String]lub Int -> [[String]]i tak dalej, w zależności od tego, co jest wejście