The Triforce adalah artefak fiksi dalam The Legend of Zelda , terbuat dari tiga segitiga sama sisi yang identik tampak mewakili kekuatan, kebijaksanaan dan keberanian. Beberapa permainan di saga menyertakan animasi ketika ketiga bagian akhirnya bergabung bersama.
Tujuan dari tantangan ini adalah untuk menggambar bingkai 2D tunggal dari animasi yang disederhanakan, dengan lebar yang diberikan untuk segitiga dan jarak yang diberikan antara bagian-bagian.
Memasukkan
Input terdiri dari dua bilangan bulat: lebar dan nilai spasi s ≥ 0 .
Keluaran
Bingkai harus ditarik sesuai dengan spesifikasi berikut:
/\
/ \____________ this part is horizontally centered
/ \
/______\
\___ s empty lines
/
/\ /\
/ \ / \______ w+1 backslashes
/ \ / \
/______\ /______\
\_______ 2w underscores
|__|
\_____________ 2s spaces
Dalam contoh di atas, kita memiliki dan s = 2 .
Lebih banyak contoh
, s = 0 :
/\
/__\
/\ /\
/__\/__\
, s = 0 :
/\
/ \
/____\
/\ /\
/ \ / \
/____\/____\
, s = 3 :
/\
/ \
/ \
/______\
/\ /\
/ \ / \
/ \ / \
/______\ /______\
, s = 1 :
/\
/ \
/ \
/ \
/________\
/\ /\
/ \ / \
/ \ / \
/ \ / \
/________\ /________\
Aturan
- Ruang tambahan pada setiap baris adalah opsional.
- Ruang pemimpin tambahan di setiap baris tidak diperbolehkan.
- Anda dapat mengeluarkan satu baris baru ekstra ekstra dan / atau baris tambahan ekstra tunggal.
- Ini adalah kode-golf .
Python 2 ,
127124 byteCobalah online!
sumber
Kanvas ,
201916 byteCoba di sini!
Penjelasan:
catatan: dalam pembuatan ini saya memperbaiki kesalahan dalam kode, Tanpa perbaikan itu, ini akan menjadi 18 byte .
sumber
R ,
225,224,214,211, 208 byteCobalah online!
sumber
if(F)0
bisa diterima pasti dan menyimpan satu byte. Atau bahkan lebih baikrm()
untuk 3 byte.q()
dalam komentar pertama saya tidak valid sesuai meta iniPascal (FPC) ,
296264 byteCobalah online!
sumber
Python 2 ,
256248240228199195 byteProgram yang lebih panjang, tetapi pendekatan yang sedikit berbeda:
Cobalah online!
menghemat banyak byte berkat mengabaikan spasi tambahan, dan menggabungkan beberapa trik dari @ovs
bahkan lebih disimpan dengan mendefinisikan variabel sebelumnya
sumber
Ruby , 126 byte
Cobalah online!
sumber
Retina 0.8.2 , 141 byte
Cobalah online!Catatan: Beberapa spasi spasi tambahan dalam output. Penjelasan:
Ubah input menjadi spasi. (Baris kedua berakhir dengan spasi.)
Buat sisi-sisi dari dua segitiga bawah dengan jarak yang sesuai.
Isi dasar segitiga.
Gandakan segitiga dengan jarak vertikal yang sesuai.
Ubah segitiga atas menjadi segitiga terpusat tunggal.
sumber
C (gcc),
404389 byteCobalah online!
-14 byte dari Rodolvertice
-1 byte dengan memperbaiki penurunan variabel loop
dicoret
404hampir masih 404Tidak Terkumpul:
sumber
#define p putchar
?p(x);
alih-alihp(x)
, untuk (+26, -6) = +20 byte. Titik koma disertakan saat makro diperluas.Jelly , 51 byte
Cobalah online!
sumber