Задача : написать программу, которая генерирует красивые (?) ASCII-арт-пейзажи и горизонты!
Ваша программа имеет только один вход: строку, состоящую из любой комбинации / повторения символов 0123456789abc
.
Для каждого входного символа выведите вертикальную линию, составленную следующим образом:
.
..
...
oooo
ooooo
OOOOOO
OOOOOOO
XXXXXXXX
XXXXXXXXX
XXXXXXXXXX
0123456789
За буквами abc
следует одно число n, и нарисуйте вертикальную линию n с соответственно 1,2 или 3 отверстиями (пробелами) внизу.
Примеры
Здание Крайслер
Вход: 2479742
.
.
...
ooo
ooo
OOOOO
OOOOO
XXXXXXX
XXXXXXX
XXXXXXX
Тадж Махал
Ввод: 0804023324554233204080
. .
. .
o o
o oo o
O O OOOO O O
O O OO OOOO OO O O
X X XXXXXXXXXXXX X X
X X XXXXXXXXXXXX X X
XXXXXXXXXXXXXXXXXXXXXX
Эйфелева башня
Ввод: 011a2b3b5c9c9b5b3a2110
..
..
..
oo
oooo
OOOO
OOOOOO
XXX XXX
XXX XXX
XXX XXX
Вы можете предположить, что ввод не пустой и что он правильно сформирован.
Любой язык принят, от A + до Z ++ .
Это код-гольф: выигрывает самый короткий исходный код .
Если что-то в правилах не ясно, не стесняйтесь спрашивать ниже в комментариях.
Получайте удовольствие и захватывайте сотню метров в несколько байтов!
(и не забудьте включить ваше любимое здание в ваше решение)
PS: нет, вы не можете загружать / получать доступ к данным из Интернета, используйте имя вашего файла в качестве данных и все такое. Будьте честны и используйте только свои навыки игры в гольф.
Ответы:
GolfScript, 69
Недалеко от решения APL.
Тест онлайн
источник
Рубин,
8885Веселый вызов!
Принимает данные в командной строке, например:
Распечатает:
источник
Python 2.7 - 186
Наверное, может быть короче ...
Образец прогона:
Sydney Harbour Bridge
Мост Золотые ворота / логотип Cisco
Отличный вопрос, кстати!
источник
C64 BASIC, 276 символов PETSCII
Мое собственное решение, игра в гольф до 276 символов и 10 строк BASIC V2.0!
(скопируйте и вставьте в эмулятор, чтобы увидеть результат).
И, наконец, мой любимый памятник, Бруклинский мост :)
источник
C
130126 символовВроде долго сравнивали с конкурентами, но я виню язык ...
Я не знаю о любимом здании, но одним из наиболее узнаваемых здесь является Globen , так что здесь его плохое исполнение.
источник
char b[99],*p;
чтобы он читалсяchar*p,b[99];
. Также это может быть короче, чтобы использоватьputs
для печати новой строки.APL (
6966)Примеры:
источник
PowerShell , 127 байт
Попробуйте онлайн!
источник
Холст ,
3533 байтаПопробуй это здесь!
источник
PHP ,
131114 байтПопробуйте онлайн!
источник
Perl 6 , 93 байта
Блок, который принимает строку и печатает на стандартный вывод.
Попробуйте онлайн!
источник
05AB1E (наследие) , 34 байта
Использует унаследованную версию 05AB1E для сохранения 2 байтов, поскольку
ζ
также работает со строками, а не только со списками символов.Попробуйте онлайн.
Объяснение:
Что касается моего любимого «здания», давайте идти с этим деревом. ;)
источник
Japt
-R
, 36 байтПопытайся
источник