Мои извинения заранее.Я знаю, что этот вопрос задавался ранее с ответами, которые не дали результатов, которые я хочу / нуждаюсь.Я пытаюсь написать функцию, которая выполняет следующие действия в Python3:
Мне нужна рекурсивная функция, которая возвращает все количество способов (комбинаций монет), которые производят указанное количество.Эта функция может содержать только два аргумента, количество и монеты.Мне было трудно сосредоточиться на рекурсии, поэтому объяснения также будут с благодарностью.Благодарю.
Вот что у меня сейчас есть:
COINS = dict(
USA=[100, 50, 25, 10, 5, 1],
AUSTRALIA=[200, 100, 50, 20, 10, 5],
UK=[500, 200, 100, 50, 20, 10, 5, 2, 1]
)
def change(amount, coins):
"""
>>> change(100, COINS['USA'])
293
"""
if amount < 0:
return 0
elif amount == 0:
return 1
else:
biggestcoin, *rest = coins[0], coins[1:]
return change(amount-biggestcoin, coins) + change(amount, rest)