Sebuah pohon H adalah struktur pohon fraktal yang dimulai dengan garis. Dalam setiap iterasi, cabang T ditambahkan ke semua titik akhir. Dalam tantangan ini, Anda harus membuat representasi ASCII dari setiap level H pohon kedua .
The tingkat pertama hanya berisi tiga karakter tanda hubung minus:
---
Tingkat selanjutnya dibangun secara rekursif:
- Buat matriks 2x2 salinan dari level sebelumnya, dipisahkan oleh tiga spasi atau garis.
- Hubungkan pusat salinan dengan garis seni ASCII dalam bentuk H. Gunakan
-
untuk garis horizontal,|
untuk garis vertikal, dan+
setiap kali garis bertemu satu sama lain.
Tingkat kedua
-+- -+-
| |
+-----+
| |
-+- -+-
Tingkat ketiga
-+- -+- -+- -+-
| | | |
+--+--+ +--+--+
| | | | | |
-+- | -+- -+- | -+-
| |
+-----------+
| |
-+- | -+- -+- | -+-
| | | | | |
+--+--+ +--+--+
| | | |
-+- -+- -+- -+-
Aturan
- Input adalah bilangan bulat yang mewakili tingkat pohon H seni ASCII seperti yang dijelaskan di atas ( bukan tingkat pohon H yang sebenarnya), baik yang diindeks nol atau satu.
- Keluaran fleksibel. Misalnya, Anda dapat mencetak hasilnya atau mengembalikan string yang dipisahkan baris baru, daftar string untuk setiap baris, atau array karakter 2D.
- Anda harus menggunakan
-
,|
,+
dan karakter ruang. - Trailing space dan hingga tiga trailing white-space diperbolehkan.
Ini golf kode. Jawaban terpendek dalam byte menang.
Jawaban:
Kanvas ,
2019 byteCoba di sini!
Penjelasan:
sumber
Arang , 22 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Diindeks 0. Penjelasan:
Cetak tiga
-
s awal , meninggalkan kursor di tengah.Ulangi untuk berapa kali diberikan.
Ulangi dua kali untuk masing-masing
H
. Setiap loop membuat sedikit lebih besarH
dari loop sebelumnya, tetapi kami hanya ingin alternatifH
s.Putar gambar.
Gambar setengah dari baris berikutnya.
Renungkan untuk menyelesaikan langkah.
Hasil pada setiap iterasi adalah sebagai berikut:
sumber
H
, pandangan cepat diperbesar: i.imgur.com/EGapcrS.pngPython 2 , 227 byte
Cobalah online!
sumber
Perl 6 , 118 byte
Cobalah online!
Diindeks 0. Mengembalikan array karakter 2D. Ide dasarnya adalah ungkapan itu
menghasilkan pola
Penjelasan
sumber