Новичок в python и algo, хотел попробовать эту проблему, прежде чем узнавать решение, не уверен, что я делаю неправильно, но монеты добавляются в список в конце, но current_accum монет не обновляется. Пока не использую рекурсивный подход.
def rec_coins(target,coins):
mincoinsneeded = []
sum_of_coins = sum(mincoinsneeded)
current_accum = target - sum_of_coins
while sum_of_coins != target:
for coin in reversed(coins):
if coin == target:
return coin
elif current_accum % coin != 0:
coins.pop(coin)
else:
while current_accum % coin >= 1:
mincoinsneeded.append(coin)
print (mincoinsneeded)
rec_coins(20,[1,5,10])