Напишіть програму, яка приймає ціле число N через stdin або командний рядок.
Якщо N дорівнює 0, одну букву O
потрібно надрукувати у відтінку.
Якщо N позитивний , цю горизонтальну подвійну спіраль ASCII мистецтва , намальовану N відрізками в ширину, необхідно надрукувати.
Якщо N дорівнює 1, вихід:
/\
O O
\/
Якщо N дорівнює 2, вихід:
/\ /\
O / O
\/ \/
Якщо N дорівнює 3, вихід:
/\ /\ /\
O / / O
\/ \/ \/
Якщо N дорівнює 4, вихід:
/\ /\ /\ /\
O / / / O
\/ \/ \/ \/
Шаблон продовжується точно так само, як і для більшого N. Зауважте, що пряму косу рису ( /
) слід використовувати в усіх місцях, коли хрестовини перетинаються, крім O
кінців.
Якщо N від'ємне , цю вертикальну подвійну спіраль ASCII мистецтва, намальовану -N відрізками, необхідно надрукувати.
Якщо N дорівнює -1, вихід:
O
/ \
\ /
O
Якщо N дорівнює -2, вихід:
O
/ \
\ /
\
/ \
\ /
O
Якщо N дорівнює -3, вихід:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Якщо N дорівнює -4, вихід:
O
/ \
\ /
\
/ \
\ /
\
/ \
\ /
\
/ \
\ /
O
Шаблон продовжується точно так само, як для менших N. Зверніть увагу, що зворотні косої риски ( \
) повинні використовуватися в усіх місцях, коли спіралі перетинаються, крім O
кінців.
Деталі
- Замість програми ви можете записати функцію, яка приймає N як ціле число і нормально друкує результат або повертає його як рядок.
- Вихід для будь-якого N може необов'язково містити зворотний новий рядок.
- Будь-який рядок виводу для будь-якого N може необов'язково містити 4 або менше пробілів.
- Ніколи не повинно бути жодного провідного простору, який не входить до заданого шаблону.
- Виграє найкоротший код у байтах.
<spc>O<spc>
або \nO\n
. Чи дозволяється зайвий провідний пробіл?
print "."
Збільшити масштаб, щоб побачити спіраль. * nodnod *