... подсчитаны!
Вы передадите своей программе переменную, которая представляет количество денег в долларах и / или центах и массив значений монет. Ваша задача состоит в том, чтобы вывести количество возможных комбинаций данного массива монет, которые бы составили сумму, переданную в код. Если это невозможно с названными монетами, программа должна вернуться 0
.
Примечание по американской нумизматической терминологии:
- Монета в 1 цент: пенни
- Монета 5 центов: никель
- Монета 10 центов: 10 центов
- Монета 25 центов: четверть (четверть доллара)
Пример 1:
Программа пройдена:
12, [1, 5, 10]
(12 центов)
Выход:
4
Существует 4 возможных способа объединения названных монет для получения 12 центов:
- 12 копеек
- 1 никель и 7 копеек
- 2 никеля и 2 копейки
- 1 копейка и 2 копейки
Пример 2:
Программа пройдена:
26, [1, 5, 10, 25]
(26 центов)
Выход:
13
Существует 13 возможных способов объединения названных монет для получения 26 центов:
- 26 копеек
- 21 копейка и 1 никель
- 16 копеек и 2 никеля
- 11 копеек и 3 никеля
- 6 копеек и 4 никеля
- 1 копейка и 5 никелей
- 16 копеек и 1 цент
- 6 копеек и 2 цента
- 11 копеек, 1 цент и 1 никель
- 6 копеек, 1 цент и 2 никеля
- 1 копейка, 1 цент и 3 никеля
- 1 пенни, 2 цента и 1 никель
- 1 четверть и 1 копейка
Пример 3:
Программа пройдена:
19, [2, 7, 12]
Выход:
2
Существует 2 возможных способа объединения названных монет для получения 19 центов:
- 1 монета за 12 центов и 1 монета за 7 центов
- 1 монета 7 центов и 6 монет 2 цента
Пример 4:
Программа пройдена:
13, [2, 8, 25]
Выход:
0
Не существует возможных способов объединения названных монет для получения 13 центов.
Это было через Песочницу. Применяются стандартные лазейки. Это код гольф, поэтому ответ с наименьшим количеством байтов выигрывает.
s/count/earn
.