Жадные алгоритмы и функция добавления - как создать новый массив? - PullRequest
0 голосов
/ 01 ноября 2018

Хорошо, у меня есть монета-массив, и я хочу создать новый массив, длина которого равна массиву, но с количеством монет из массива 'coins', необходимых для ввода m.

coin = [200,100,50,20,10,5,2,1]

Пока у меня есть следующее. Что должно быть в цикле, чтобы я мог вернуть то, что я хочу?

def coinSplitGD2(m):

    coin = [200,100,50,20,10,5,2,1]

    if m==0:
        return 0
    for i in range(len(coin)):
        if coin...

Таким образом, если m равно 143, он вернет [0, 1, 0, 2, 0, 0, 1, 1], то есть не 200 монет, одну 100 монет, нет 50 монет, две 20 монет, без 10 монет, без 5 монет, одна 2 монеты и одна 1 монета

1 Ответ

0 голосов
/ 01 ноября 2018
coin = [200,100,50,20,10,5,2,1]
def coinSplitGD2(m):
    a = []
    for c in coin:
        a.append(m // c)
        m %= c
    return a

так что:

coinSplitGD2(143)

возвращается:

[0, 1, 0, 2, 0, 0, 1, 1]
...