Tulis sebuah program atau fungsi yang, diberi bilangan bulat n
, membangun array dengan n
dimensi n
panjang, di mana setiap elemen merupakan pengidentifikasi koordinatnya sendiri. Yaitu, mulai dengan satu array, isi dengan n
array, di mana masing-masing berisi n
lebih banyak array, hingga kedalaman n-1
. Elemen-elemen dari array terdalam adalah koordinat yang menggambarkan di mana mereka berada dalam array penuh.
Beberapa contoh kalau-kalau penjelasan saya membingungkan.
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"]
]
]
Di sini, "321" berarti itu adalah elemen ke-1 dari elemen ke-2 dari array ke-3.
Aturan:
- Koordinat dan dimensi (
n
) dapat diindeks 0 atau 1 - Anda dapat mengasumsikan
n
satu digit, di bawah 10 untuk kedua opsi pengindeksan untuk mencegah output yang ambigu - IO fleksibel.
- Khususnya, koordinat dapat berupa array, string, dll. Asalkan jelas. "321" => [3,2,1]
- Output dapat berupa bilangan bulat di basis 10 dengan atau tanpa nol di depan.
- Koordinat dapat dalam urutan terbalik jika Anda inginkan, asalkan konsisten. "321" => "123"
- Output tidak harus berupa struktur array dalam bahasa Anda. Selama ada penanda yang jelas berbeda untuk awal array, akhir array dan untuk memisahkan elemen.
- Output untuk
n=1
hanya bisa 1 - Jika output Anda tidak khas, pastikan untuk menjelaskan formatnya.
- Ini adalah kode-golf sehingga solusi terpendek dalam setiap bahasa menang!
data L a = L [L a] | E a
.Int -> [String]
atauInt -> [[String]]
dan sebagainya, tergantung pada apa inputnya