проблема
Учитывая значение n, представьте горный пейзаж, вписанный в ссылку (0, 0) - (2n, 0). Между склонами не должно быть пробелов, а гора не должна опускаться ниже оси x. Задача, которая должна быть решена: при заданном n (который определяет размер ландшафта) и числе k пиков (k всегда меньше или равно n), сколько комбинаций гор возможно с k пиками?
вход
n, который представляет ширину ландшафта и k, который является числом пиков.
Вывод
Просто количество возможных комбинаций.
пример
При n = 3 и k = 2 ответом является 3 комбинации.
Просто для наглядного примера, они следующие:
/\ /\ /\/\
/\/ \ / \/\ / \
возможны 3 комбинации с использованием 6 (3 * 2) позиций и 2 пиков.
Изменить: - больше примеров -
n k result
2 1 1
4 1 1
4 3 6
5 2 10
Выигрышное условие
стандарт Код-гольфправила применяются. Самая короткая подача в байтах побеждает.
источник
n
пар совпадающих скобок, которые содержат точноk
экземпляры()
»?k
должен ли обрабатываться ввод с нулем? Если да, то должен ли обрабатываться вход сn
нулем (сk
нулем по определению)?Ответы:
Python, 40 байт
Попробуйте онлайн!
Использует повторение , .an , 1= 1 aн , кзнак равноn ( n - 1 )к ( к - 1 )an - 1 , k - 1
источник
Желе , 7 байт
Попробуйте онлайн!
Принимает входные данные как
n
тогдаk
. Использует формулукоторый я нашел в Википедии .
7 байт
Каждая строка работает самостоятельно.
Принимает входные данные как
k
тогдаn
.7 байт
источник
Ṫ
), который просто принимает последний элемент одного аргумента, и тот, который я использовал (ṫ
), который принимает два аргумента. Первый аргумент - это список, а второй - число (в моем случае это-1
обозначено-
в коде символом a ), которое указывает, сколько элементов нужно сохранить. Имея-1
ДАЙ два элемента был golfiest способ определитьṫ
cⱮ×ƝṪ÷⁸
JavaScript (ES6),
3330 байтСохранено 3 байта благодаря @Shaggy
Принимает вход как
(n)(k)
.Попробуйте онлайн!
Реализует рекурсивное определение, используемое Anders Kaseorg .
JavaScript (ES7),
59584945 байтПринимает вход как
(n)(k)
.Попробуйте онлайн!
Вычисляет:
Получено из A001263 (первая формула).
источник
Wolfram Language (Mathematica) , 27 байтов
Три версии одинаковой длины:
Попробуйте онлайн! (Только первая версия, но вы можете скопировать и вставить, чтобы попробовать другие.)
Все они являются своего рода вариантом для Которая является формулой, которая используется. Я надеялся попасть куда-нибудь с бета-функцией, которая является своего рода биномиальной взаимностью, но потом произошло слишком много делений.n!(n−1)!k!(k−1)!(n−k)!(n−k−1)!
источник
J ,
1711 байтПопробуйте онлайн!
Принимает
n
за правый аргумент,k
за левый. Используется та же формула, что и в ответе на желе от Dylnan и в решении APL от Quintec.Объяснение:
источник
APL (Dyalog),
19181612 байтовСпасибо @Galen Иванову за -4 байта
Использует идентификатор в последовательности OEIS. Принимает k слева и n справа.
TIO
источник
⊢÷⍨!×⊢!⍨¯1+⊣
для 12 байтов , аргумент полностью измененРубин , 50 байтов
Попробуйте онлайн!
источник
Common Lisp , 76 байт
Попробуйте онлайн!
источник
(*(1- x)x)
вместо(* x(1- x))
Perl 6 , 33 байта
Попробуйте онлайн!
Использует формулу
объяснение
Альтернативная версия, 39 байт
Попробуйте онлайн!
Использует формулу из ответа Арно:
источник
Желе , 8 байт
n
Слева иk
справа принимается диадическая ссылка, которая дает счет.Попробуйте онлайн!
источник
Stax , 9 байт
Запустите и отладьте его
Я использую формулу Дилнана в Stax.
Распакованная, разархивированная и прокомментированная программа выглядит следующим образом.
Запустите этот
источник
APL (NARS), 17 символов, 34 байта
тестовое задание:
источник