Великая пирамида в Гизе, самая большая пирамида в Египте, является не только самой старой из семи чудес древнего мира, но и единственной, которая остается в значительной степени неповрежденной. На строительство египетских пирамид может уйти до 20 лет, и они настолько велики, что Аль-Азиз Усман, сын великого Саладина, сокрушившего крестоносцев, должен был отказаться от разрушения Великих пирамид Гизы, потому что это считалось слишком большой задачей . Египетские пирамиды были построены в основном в качестве гробниц для фараонов страны и их супругов во времена Старого и Среднего царства (ок. 2686–1690 гг. До н.э.), а по состоянию на 2008 г. было обнаружено 138 египетских пирамид.
Задача состоит в том, чтобы создать программу, которая вводит последовательность расстояний, разделенных пробелом, и создает текстовые пирамиды 10 × 10, разделенные этими расстояниями. Расстояние 1 равно двум символам.
Текстовая пирамида будет выглядеть так:
/\
/--\
/----\
/------\
/--------\
/----------\
/------------\
/--------------\
/----------------\
/------------------\
Если вход состоит только из разрыва строки, то будет создана одна пирамида, как указано выше . Для каждой пирамиды пирамиды слева отображаются так, как если бы они были спереди.
Пример I
Входные данные:
4 3 1
Выход:
/\ /\ /\/\
/--\ /--\ /--\-\
/----\ /----\/----\-\
/------\/------\-----\-\
/--------\-------\-----\-\
/----------\-------\-----\-\
/------------\-------\-----\-\
/--------------\-------\-----\-\
/----------------\-------\-----\-\
/------------------\-------\-----\-\
Пример II
Входные данные:
0 9
Выход:
/\ /\
/--\ /--\
/----\ /----\
/------\ /------\
/--------\ /--------\
/----------\ /----------\
/------------\ /------------\
/--------------\ /--------------\
/----------------\/----------------\
/------------------\-----------------\
Пример III
Входные данные:
11
Выход:
/\ /\
/--\ /--\
/----\ /----\
/------\ /------\
/--------\ /--------\
/----------\ /----------\
/------------\ /------------\
/--------------\ /--------------\
/----------------\ /----------------\
/------------------\ /------------------\
Приложение для выполнения этих требований в наименьшем количестве символов является победителем.
Ссылка: Wikipedia.org
Ответы:
Гольфскрипт, 70 знаков
Прямой порт моего решения на Ruby , так что я уверен, что это можно сократить на несколько символов.
источник
Windows PowerShell, 122
132133139Тестовый скрипт .
Случайный ввод также делает для хороших изображений:
источник
$input=Read-Host
сверху, иначе это не просит ввода. Как это должно быть запущено?echo 0 3 4 1|powershell -noprofile -file pyramids.ps1
или из PowerShell'0 1 4 3' | .\pyramids.ps1
. Это частая проблема с игрой в гольф в PowerShell, к сожалению, как вы можете принимать только либо по трубопроводу, на входе или интерактивного ввода. PowerShell на самом деле не имеет понятия о стандартах, которые есть в других языках и средах, и это иногда показывается. Я обычно обращаюсь к каналу ввода, если только задача явно не требует интерактивности, как « Угадай число» .Haskell, 148 символов
Я совершенно недоволен этим! Просто слишком долго. Идеи?
источник
++
на один список и использовать concat aka>>=id
. Я не знаю, поможет ли это. Другой пункт будет использоватьfoldr1
вместоfoldr
.++
последовательностей экономит только один символ на элемент, а накладные расходы на финалconcat
здесь слишком высоки.foldr
Не может использоватьfoldr1
форму как раз результата ,String
тогда как тип списка[Int]
(The1
вариантыfold
требуют , чтобы они были одинаковыми.)Python, 123 символа
источник
Ruby 1.9, 116 символов
источник
Perl,
130 126132 символовНемного более короткая версия, которая принимает входные данные в качестве аргументов командной строки, а не из стандартного ввода:
Не могу поверить, что никто еще не нашел решение для регулярных выражений. Perl очень далек от того, чтобы быть моим лучшим языком, так что он может потерять намного больше. Мне было бы интересно увидеть реализацию sed, если кто-то готов принять вызов.
(Спасибо, @mbx, за 4 символа).
источник
JavaScript, 396 байт
Я не собираюсь выигрывать с помощью JavaScript, но сейчас есть запись JavaScript :)
Использование:
_("1 2 3")
и т. Д.источник
Рубин (112)
Немного короче, чем решение Ventero Ruby, с другим подходом. Я только начал изучать Ruby, так что это, вероятно, можно немного уменьшить.
источник
Powershell,
10598 байт, самое строгое чтение спецификации-7 байт из ответа Мигимару .
Тестовый скрипт:
Выход:
Powershell,
10194, веселье с одним ведущим пробеломисточник
Я не мог получить версию C # 3 короче, чем эта. Я точно не знаю количество персонажей, но подозреваю, что проиграл. :-(
источник