Napisz program, który przyjmuje liczbę całkowitą N za pomocą stdin lub wiersza poleceń.
Jeśli N wynosi 0, pojedyncza litera O
musi być wydrukowana na stdout.
Jeśli N jest dodatnie , ta pozioma podwójna helisa sztuki ASCII , narysowana na szerokość N segmentów, musi zostać wydrukowana.
Jeśli N wynosi 1, wynikiem jest:
/\
O O
\/
Jeśli N wynosi 2, wynikiem jest:
/\ /\
O / O
\/ \/
Jeśli N wynosi 3, wynikiem jest:
/\ /\ /\
O / / O
\/ \/ \/
Jeśli N wynosi 4, wynikiem jest:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Wzór jest kontynuowany dokładnie w ten sam sposób dla większych N. Zauważ, że ukośnik do przodu ( /
) musi być stosowany we wszystkich miejscach, w których przecinają się helisy, z wyjątkiem O
końców.
Jeśli N jest ujemne , ta pionowa podwójna helisa sztuki ASCII, narysowana -N segmenty wysokości, musi zostać wydrukowana.
Jeśli N wynosi -1, wynikiem jest:
O
/ \
\ /
O
Jeśli N wynosi -2, wynikiem jest:
O
/ \
\ /
\
/ \
\ /
O
Jeśli N wynosi -3, wynikiem jest:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Jeśli N wynosi -4, wynikiem jest:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Wzór jest kontynuowany dokładnie w ten sam sposób dla mniejszych N. Zauważ, że \
odwrotne ukośniki ( ) muszą być stosowane we wszystkich miejscach, w których helisy się krzyżują, z wyjątkiem O
końców.
Detale
- Zamiast programu możesz napisać funkcję, która przyjmuje N jako liczbę całkowitą i drukuje wynik normalnie lub zwraca jako ciąg znaków.
- Dane wyjściowe dla dowolnego N mogą opcjonalnie zawierać końcowy znak nowej linii.
- Dowolny wiersz wyniku dla dowolnego N może opcjonalnie zawierać 4 lub mniej końcowych spacji.
- Nigdy nie powinno być żadnej wiodącej przestrzeni, która nie jest częścią określonego wzorca.
- Najkrótszy kod w bajtach wygrywa.
<spc>O<spc>
lub \nO\n
. Czy niepotrzebne wiodące białe znaki są dozwolone?
print "."
Powiększ, aby zobaczyć helisę. * nodnod *