Большинство людей знакомы с треугольником Паскаля.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Треугольник Паскаля - это автомат, в котором значение ячейки представляет собой сумму ячеек слева вверху и справа вверху. Теперь мы собираемся определить аналогичный треугольник. Вместо того, чтобы просто брать ячейки в верхний левый и верхний правый угол, мы собираемся взять все ячейки вдоль двух бесконечных линий, продолжающихся в верхний левый и верхний правый угол. Точно так же, как треугольник Паскаля, мы начинаем с одного 1
дополненного бесконечно нулями и строим вниз оттуда.
Например, чтобы вычислить ячейку, обозначенную x
1
1 1
2 2 2
4 5 5 4
x
Мы бы суммировали следующие ячейки
.
. .
2 . 2
. 5 5 .
x
Делаем нашу новую камеру 14
.
задача
Учитывая номер строки ( n ) и расстояние слева ( r ), вычислите и выведите r- ю ненулевую запись слева на n- й строке. (эквивалент по треугольнику Паскаля nCr ). Вы можете предположить, что r меньше n .
Это код-гольф , цель - минимизировать количество байтов в вашем решении.
Контрольные примеры
0,0 -> 1
1,0 -> 1
2,0 -> 2
4,2 -> 14
6,3 -> 106
Вот первая пара строк в форме треугольника:
1
1 1
2 2 2
4 5 5 4
8 12 14 12 8
16 28 37 37 28 16
32 64 94 106 94 64 32
64 144 232 289 289 232 144 64
128 320 560 760 838 760 560 320 128