Programcılar genellikle çizim fraktalları takıntılı . Bence yeni bir bilgisayar ortamına ihtiyacımız var.
H ağaç yatay ve dikey çizgiler yapılmış fraktal oldukça basit bir türüdür. İşte onuncu yinelemede ( Wikipedia nezaket ):

Şimdi, görüntüdeki her satırın standart bir bilgisayar dosya sisteminde bir dizin (klasör) olduğunu düşünün. En küçük çizgiler hariç tümü kendilerinden daha küçük iki çizgiyle kesişir; bu iki küçük çizgi , büyük çizginin alt dizinleridir . Böylece, ortadaki büyük yatay çizgi, görüntüdeki diğer çizgilerin ebeveynleri, büyükanne ve büyükbabaları vb. Olan en büyük iki dikey çizginin üst dizinidir.
Meydan okuma
Stdin veya komut satırı (veya en yakın alternatif) aracılığıyla pozitif bir tamsayı N alan ve H ağacı fraktalının Nth yinelemesini yansıtan bir dizin ağacı oluşturan bir program yazın.
İlk yineleme (N = 1) tek bir yatay çizgidir. Sonraki her yinelemede, mevcut çizgilerin uçlarına yeni bir dikey veya yatay çizgi kümesi eklenir. Böylece N = 2 için iki dikey çizgi (H şekli yaparak) eklenir, N = 3 için buna dört yatay çizgi eklenir, vb.
Kök dizinin adı her zaman olmalıdır tree. Dizinlerinin isimleri kullanarak üst doğruya göre olan yönü aynı olmalıdır right, left, upve down.
Kök dizin her zaman yatay bir çizgi olduğundan, her zaman rightve leftalt dizinleri olacaktır. Ancak bu ikisi upve downalt dizinleri olacak rightve bunlar leftve benzerleri olacaktır.
Yineleme sınırının sonundaki dizinler boş olmalıdır.
Misal
N = 3 için dizin ağacı şöyle görünmelidir:
tree
right
up
down
left
up
down
İlave bilgi
- İdeal olarak
treedizin, kaynak kodun bulunduğu klasörde açılır, ancak bazı çalışma dizinine giderse sorun olmaz. treeSizinkinin oluşturulacağı yerde önceden var olan bir dizin olmadığını varsayabilirsiniz .- Programınızın her zaman aynı ortak modern işletim sisteminde (Mac / Windows / Linux) çalıştırılacağını varsayabilirsiniz. Temelde tüm işletim sistemlerinde çalışmayan bir dosya ayırıcı kullanma konusunda endişelenmeyin.
puanlama
Bu yüzden en kısa kod kod golf, olduğu bayt içinde kazanır.
treehep olmak zorundaleftverightyerineupvedown?