Напишите программу, которая принимает целое число N через stdin или командную строку.
Если N равно 0, одна буква O
должна быть напечатана на стандартный вывод.
Если N положительно , эта горизонтальная двойная спираль ASCII art , нарисованная 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
. Является ли unnecesary ведущий позволил пробельному?
print "."
Увеличьте масштаб, чтобы увидеть спираль. * nodnod *