Создайте треугольник Паскаля, который является вложенным списком и содержит нули в неиспользуемых местах.
В выходном массиве числа треугольника Паскаля разделены нулями и дополнены нулями с каждой стороны, чтобы они были отцентрированы. Например, нижняя строка (последний под-массив) не должна иметь нулей слева и справа; второй-последний подмассив имеет одно заполнение нулями на каждой стороне и так далее.
Вот вывод для ввода 5
:
[[0,0,0,0,1,0,0,0,0],
[0,0,0,1,0,1,0,0,0],
[0,0,1,0,2,0,1,0,0],
[0,1,0,3,0,3,0,1,0],
[1,0,4,0,6,0,4,0,1]]
Как обычно, решение с наименьшим количеством байтов выигрывает.
print("def pascal(n):\n #make the nested list\n a=[[0 for i in range(2*n+1)] for j in range(n+1)] #make the list\n a[0][n]=1 #add the initial 1\n for i in range(1,n+1):\n for j in range(2*n+1):\n a[i][j]=a[i-1][j-1]+a[i-1][(j+1)%(2*n+1)] #the main part\n return a")
Ответы:
Mathematica,
7068 байтАналогично решению MATL.
источник
Mathematica, 48 байтов
CellularAutomation
Это фантастично.источник
Желе, 12 байт
Попробуй это здесь.
объяснение
источник
Haskell, 66 байт
Пример использования:
q 4
->[[0,0,0,1,0,0,0],[0,0,1,0,1,0,0],[0,1,0,2,0,1,0],[1,0,3,0,3,0,1]]
.Как это работает:
источник
Python 3,
172158133 байтаСтановится лучше
источник
MATL ,
242221 байтРЕДАКТИРОВАТЬ (20 мая 2016 г.): начиная с версии 18.0.0 языка для запуска вышеуказанного кода необходимо выполнить несколько изменений. Ссылка ниже включает эти модификации
Попробуйте онлайн!
Это использует цикл для вставки каждой новой строки в стек. Новая строка вычисляется из предыдущей строки с применением свертки с
[1,0,1]
сохранением только нужного размера. После цикла все строки объединяются в двумерный массив, который отображается. 2D-массив отображается в MATL в виде числовых таблиц с выравниванием по столбцам.источник
Javascript,
152146 байтПоказать фрагмент кода
источник
Серьезно, 33 байта
Попробуйте онлайн
Я относительно уверен, что по крайней мере 7 или около того этих байтов можно сбрить, так что я буду ждать, чтобы опубликовать объяснение, пока я не закончу играть в гольф дальше.
источник
PHP , 106 байт
Попробуйте онлайн!
источник