Вызов
Учитывая последовательность неотрицательных целых чисел, создайте функцию, которая выводит пирамиду-потомок, где дочерние элементы являются суммой обоих родительских чисел.
Результат выводится в виде строки с использованием табуляции \t
.
Примечание: конечные вкладки в каждой строке не требуются
1\t\t2\t\t3\n\t3\t\t5\t\n\t\t8\t\t results in
1 2 3
3 5
8
При желании результат может быть выведен в виде массива с использованием пустой позиции в качестве пробела.
[[1,,2,,3],
[,3,,5,],
[,,8,,]]
Пример:
Данный 4,5,7,3,4,2
вывод:
4 5 7 3 4 2
9 12 10 7 6
21 22 17 13
43 39 30
82 69
151
правила
- Применяются стандартные правила игры в гольф
- Ввод может быть строкой с использованием любого разделителя или массива
- Разрешающие / завершающие символы новой строки и табуляции разрешены (но не обязательны, если вывод представляет собой перевернутую пирамиду)
Тестовые случаи
Input: 1,3,5
1 3 5
4 8
12
Input: 9,8,7,6,5
9 8 7 6 5
17 15 13 11
32 28 24
60 52
112
Input: 5,5,2,5
[[5,,5,,2,,5],
[,10,,7,,7,],
[,,17,,14,,],
[,,,31,,,]]
Input: 3,3,3
[[3,,3,,3],
[,6,,6,],
[,,12,,]]
Критерии победы - код-гольф
Примечание: этот вызов очень близок к треугольнику Generate Pascal . Разница заключается в пользовательской последовательности запуска (паскаль идет от 1 и в режиме восходящего, это от входа и в режиме потомка).
non-negative integers
мы должны справиться0
? Есть некоторые возможности игры в гольф, если пустые места заполнены с0
.Ответы:
APL (Dyalog Unicode) ,
3128 байт SBCSФункция молчаливого префикса. Использует один пробел в качестве маркера пустого слота. Возвращает список списков чисел / пробелов.
Попробуйте онлайн!
⍳∘≢{
...}¨⊂
применять ниже функции для каждого из⍳
тех ɩ ndices∘
о≢
подсчете с⊂
всем аргументом:⊢⍵
привести правильный аргумент (исходный ввод)2+/⍣⍺
применить попарную сумму столько раз, сколько указано левым аргументом,∘' '¨
добавить пробел к каждому номеру(
...),
добавить это к следующему:⍺⍴''
элементы левого аргумента пустой строки (дополненные пробелами)∊
ε NLIST (Flatten)источник
05AB1E , 15 байтов
Попробуйте онлайн!
источник
Wolfram Language (Mathematica) , 74 байта
Попробуйте онлайн!
источник
Желе ,
1413 байт14 -> 13 предполагает, что в выходных данных формата списка допускается только запись в конце пробела; если нет, я вернусь к 14 ( спросил )
Монадическая ссылка. Выходные данные представляют собой список списков, использующих пробелы в качестве пробелов (включает одну запись только с пробелами).
Попробуйте онлайн! (включает нижний колонтитул, чтобы показать структуру списка, поскольку при запуске монадической ссылки в виде полной программы неявно печатается разбитый вывод.)
источник
Шелуха , 22 байта
Попробуйте онлайн!
объяснение
источник
JavaScript (ES6), 73 байта
Странный исходный код ... Во всяком случае, это код-гольф !
Включает в себя ведущие и конечные пробелы.
Попробуйте онлайн!
источник
Perl 5
-a
, 62 байтаПопробуйте онлайн!
источник
Python 3 ,
1019380 байтБлагодаря Джо Кингу удалось сохранить 7 байтов (
map(str,x)
вместоfor in
и init y as''
) и избавиться от завершающих строк новой строки (x and[
вместоprint(
) .Сохранено 13 байтов (
[*map(sum,zip(x,x[1:]))]
вместо[x[j]+x[j+1]for j in range(len(x)-1)]
) благодаря ovs .Попробуйте онлайн!
источник
Сетчатка , 35 байт
Попробуйте онлайн! Объяснение:
Повторяйте, пока буфер не перестанет меняться,
Распечатать содержимое буфера перед заменой, с завершающей строкой и
Замените одно число парой вкладок, а число, за которым следует другое число, с вкладкой, суммой и другой вкладкой.
источник
C (лязг) , 112 байт
Попробуйте онлайн!
источник
putchar(9)
вместоprintf("\t")
Красный , 151 байт
Попробуйте онлайн!
Более читабельно:
источник
Perl 6 ,
5048 байтовПопробуйте онлайн!
Блок анонимного кода, который принимает список целых чисел и печатает перевернутую пирамиду.
источник
C # (компилятор Visual C #) , 163 байта
Попробуйте онлайн!
Удобочитаемый:
источник
Джапт
-Rx
,2018 байтВторая строка содержит конечную вкладку.
Попробуй
объяснение
источник