Tulis sebuah program yang mengambil bilangan bulat N melalui stdin atau baris perintah.
Jika N adalah 0, satu huruf O
harus dicetak ke stdout.
Jika N positif , heliks ganda seni ASCII horizontal ini , yang digambar dengan lebar N segmen, harus dicetak.
Jika N adalah 1, outputnya adalah:
/\
O O
\/
Jika N adalah 2, outputnya adalah:
/\ /\
O / O
\/ \/
Jika N adalah 3, outputnya adalah:
/\ /\ /\
O / / O
\/ \/ \/
Jika N adalah 4, outputnya adalah:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Pola berlanjut dengan cara yang sama persis untuk N. yang lebih besar. Perhatikan bahwa garis miring ( /
) harus digunakan di semua tempat heliks bersilangan, kecuali untuk O
ujungnya.
Jika N negatif , heliks ganda art ASCII vertikal ini , ditarik -N segmen tinggi, harus dicetak.
Jika N adalah -1, outputnya adalah:
O
/ \
\ /
O
Jika N adalah -2, outputnya adalah:
O
/ \
\ /
\
/ \
\ /
O
Jika N adalah -3, outputnya adalah:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Jika N adalah -4, outputnya adalah:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Pola berlanjut dengan cara yang sama persis untuk N. yang lebih kecil. Perhatikan bahwa garis miring ( \
) harus digunakan di semua tempat heliks bersilangan, kecuali untuk O
ujungnya.
Detail
- Alih-alih sebuah program, Anda dapat menulis fungsi yang mengambil N sebagai integer dan mencetak hasilnya secara normal atau mengembalikannya sebagai string.
- Output untuk N apa pun secara opsional dapat memuat baris tambahan.
- Garis output apa pun untuk N apa pun dapat secara opsional mengandung 4 atau lebih sedikit ruang tambahan.
- Seharusnya tidak pernah ada ruang utama yang bukan bagian dari pola yang ditentukan.
- Kode terpendek dalam byte menang.
<spc>O<spc>
atau \nO\n
. Apakah spasi putih terkemuka yang tidak perlu diizinkan?
print "."
Perbesar untuk melihat helix. * nodnod *