A014486'dan esinlenilmiştir .
Meydan okuma
10 tabanındaki bir tamsayı girişi göz önüne alındığında, girişe karşılık gelen ikili orman için bir gösterim oluşturun. Temsiller iç içe dizileri ve dizeleri içerir, ancak bunlarla sınırlı değildir.
Nasıl?
Girişi ikiliye dönüştürün. 1
s dalları temsil eder ve 0
s yaprakları temsil eder.
Bunu anlamayı kolaylaştırmak için, 834
bir örnek olarak kullanalım (ikili olarak 1101000010).
İlk rakam ile başlıyoruz. İlk hane a 1
, yani dalları çizeriz:
\ / 1
veya bir dizi olarak {{1}}
Bir sonraki rakam, 1
daha fazla dal çizeriz (soldan sağa gideriz):
\ / 1 \ / 1
veya bir dizi olarak {{1, {1}}}
Bir sonraki rakam ise 0
, bir yaprak yerleştiririz:
0 \ / 1 \ / 1
veya bir dizi olarak {{1, {1, 0}}}
Bir sonraki hane a 1
, bu yüzden bir dal koyalım:
\ / 0 1 \ / 1 \ / 1
veya bir dizi olarak {{1, {1, 0, {1}}}}
İşlemi tekrarlayarak 8. basamaktan sonra aşağıdaki ağacı elde ediyoruz:
0 0 \ / 0 1 \ / 1 0 \ / 1
veya bir dizi olarak {{1, {1, 0, {1, 0, 0}}, 0}}
Kalan rakamlar için daha fazla ağaç çizeriz:
9. hane a 0
, bu yüzden bir yaprak yerleştiririz (aww, genç bir çekim!)
0 0 \ / 0 1 \ / 1 0 \ / 1 0
veya bir dizi olarak {{1, {1, 0, {1, 0, 0}}, 0}, 0}
Tüm rakamları kullandığımızda, bununla sonuçlanır:
0 0 \ / 0 1 \ / 100 \ / \ / 1 0 1
veya bir dizi olarak {{1, {1, 0, {1, 0, 0}}, 0}, 0, {1, 0}}
Bu çok garip görünüyor, bu yüzden ağacı tamamlamak için bir sıfır atarız:
0 0 \ / 0 1 \ / 1 0 0 0 \ / \ / 1 0 1
veya bir dizi olarak {{1, {1, 0, {1, 0, 0}}, 0}, 0, {1, 0, 0}}
Diziyi yassılaştırmanın orjinal sayıyı ikili olarak verdiğini, ancak yastıklı sıfır bulunduğunu unutmayın.
Kriterler
- Çıktı, ağaçların ve dalların ayrımını açıkça göstermelidir (iç içe geçmiş bir dizi değilse, lütfen çıktı biçiminizi açıklayın).
- Tüm basamakların çıkıştan alınması, girişin ikili gösterimi ile aynı olmalıdır (yukarıdaki işlemden doldurulmuş sıfır (lar) ile).
Test durumları
Çıktı, kriterleri karşıladığı sürece farklı olabilir.
0 -> {0} 1 -> {{1, 0, 0}} 44 -> {{1, 0, {1, {1, 0, 0}, 0}}} 63 -> {{1, {1, {1, {1, {1, {1, 0, 0}, 0}, 0}, 0}, 0}, 0}} 404 -> {{1, {1, 0, 0}, {1, 0, {1, 0, 0}}}} 1337 -> {{1, 0, {1, 0, 0}}, {1, {1, {1, 0, 0}, {1, 0, 0}}, 0}}
puanlama
Bu kod golf , yani en düşük bayt kazanır!