Хорошо, я недавно получил небольшой треугольник, так что вот еще один.
Треугольник Кларка - это треугольник, где крайний левый элемент каждой строки равен 1, а крайний правый элемент состоит из кратных 6, которые увеличиваются с увеличением номера строки. Вот визуализация
1 6
1 . 12
1 . . 18
1 . . . 24
1 . . . . 30
1 . . . . . 36
Точно так же, как Треугольник Паскаля, все остальные записи являются суммой чисел справа вверху и слева вверху.
Вот первые несколько заполненных строк
1 6
1 7 12
1 8 19 18
1 9 27 37 24
1 10 36 64 61 30
1 11 46 100 125 91 36
задача
Учитывая номер строки (начиная с верха) и номер столбца (начиная с первого ненулевого элемента в этой строке), выведите значение в этой конкретной ячейке. Оба входа могут иметь индекс 1 или 0 (вы можете смешивать и сочетать, если хотите). Выход за границы треугольника не определен, и вы можете делать все, что пожелаете, когда запрашиваете эти значения.
Это код-гольф , цель - минимизировать количество байтов в вашем решении.
Ответы:
MATL , 15 байт
Первый вход - строка на основе 0; второй столбец на основе 1.
Попробуйте онлайн!
объяснение
источник
Паскаль , 132 байта
Попробуйте онлайн!
1-индексироваться.
источник
CJam ,
2218 байт-4 байта благодаря Мартину Эндеру
Ввод
(0-based row) (0-based column)
Попробуйте онлайн!
объяснение
источник
.+
. Обычно проблема заключается в том, что он сохраняет конечный элемент без его суммирования (что обходится в байтах), но в этом случае это на самом деле экономит байты, потому что тогда вам не нужно добавлять a6
на каждую итерацию. Вы можете сохранить еще больше байтов, потому что сдвиг влево свободен, если вы добавляете только0
одну копию:X6_]ri{0X$+.+}*ri=
_0\+
вместо того0X$+
же количества байтов, если вы предпочитаете.C #, 157 байт
Попробуйте онлайн
источник
Python 2 , 67 байт
Попробуйте онлайн!
Подбор методом грубой силы, вычисление
a
th-й строки, а затем вывод числаb
th, оба входа основаны на 0источник
Python 3 ,
646052 байтаПопробуйте онлайн!
Рекурсивное решение с использованием 1-индексации. Выводы «Правда» вместо 1 ради игры в гольф.
Благодаря:
источник
Haskell , 41 байт
Попробуйте онлайн!
Вызовите с помощью
n # m
гдеn
номер строки и номерm
столбца, оба с 1 индексом.источник
Mathematica, 32 байта
вход
источник
JavaScript (ES6), 38 байт
Сбой для отрицательных столбцов и возвращает кратные значения шести для отрицательных строк или столбцов с большими значениями.
источник
C # (.NET Core) , 44 байта
Берет столбец, затем строку, оба с 1 индексом. Можно взять строку затем колонку путем замены входов:
(r,c)
. Вернетсяrow * 6
для координат за пределами границ справа (т.е.column > row + 1
) и1
для координат за пределами слева (т.е.column < 1
).источник
PHP , 64 байта
рекурсивная функция
строки 1-индексация столбцов 0-индексация
Выход для строки = 0 и столбца = 0 равен 0, как в последовательности OEIS
Попробуйте онлайн!
PHP , 126 байт
строки 1-индексация столбцов 0-индексация
Выход для строки = 0 и столбца = 0 равен 0, как в последовательности OEIS
Попробуйте онлайн!
источник
R 77 байт
Требуется
zoo
библиотека; читает из стандартного ввода (входные данные разделены двумя символами новой строки) и возвращает значение сNA
выбором за пределами границ.Попробуйте онлайн!
источник
Желе , 13 байт
Монадическая ссылка принимая список
[row, entry]
(0 индексации для записей, 1 индексации для строк), возвращая значение.Попробуйте онлайн!
Как?
источник