Bir tamsayı verilen , her boyutun kendi koordinatlarının bir tanımlayıcısı olduğu , uzunluk boyutlarına n
sahip bir dizi oluşturan bir program veya işlev yazın . Yani, bir dizi ile başlayarak , her birinin daha fazla dizi içerdiği bir derinliğe kadar dizilerle doldurun . En derin dizilerin elemanları, tam dizide nerede olduklarını açıklayan koordinatlardır.n
n
n
n
n-1
Açıklamam durumunda bazı örnekler kafa karıştırıcıydı.
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"]
]
]
Burada "321", 3. dizinin 2. öğesinin 1. elemanı olduğu anlamına gelir.
Kurallar:
- Koordinatlar ve boyut (
n
), 0 veya 1 dizinlenmiş olabilir n
Belirsiz çıktıları önlemek için her iki indeksleme seçeneğinde 10 rakamın altında bir rakam olduğunu varsayalım.- IO esnek.
- Özellikle, koordinatlar, net oldukları sürece diziler, dizeler vs. olabilir. "321" => [3,2,1]
- Çıktı, taban 10'daki baş sıfıra sahip olan ya da olmayan tam sayılar olabilir.
- İsterseniz, tutarlı olduğu sürece koordinatlar ters sırada olabilir. "321" => "123"
- Çıktı dilinizde mutlaka bir dizi yapısı olmak zorunda değildir. Bir dizinin başlangıcı, bir dizinin sonu ve elemanları ayırmak için belirgin işaretler olduğu sürece.
- Çıktı
n=1
sadece 1 olabilir - Çıktınız atipikse, biçimi açıkladığınızdan emin olun.
- Bu kod golf yani her dilde en kısa çözüm kazanıyor!
data L a = L [L a] | E a
.
Int -> [String]
veya Int -> [[String]]
benzeri olabilir.