Annettuna on kolikkoa ja summa . Laske, mikä on suurin määrä kolikkoja, joilla summa voidaan muodostaa.
Voit olettaa, että ja . Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.
Toteuta tiedostoon maxcoin.py
funktio find
, joka palauttaa tehtävän vastauksen. Jos summaa ei ole mahdollista muodostaa mitenkään, funktion tulee palauttaa .
def find(x, coins): # TODO if __name__ == "__main__": print(find(13, [1, 2, 5])) # 13 print(find(13, [2, 3, 5])) # 6 print(find(13, [2, 4, 6])) # -1 print(find(42, [8, 9, 11, 15])) # 5
Selitys: Kun ja kolikot ovat , optimiratkaisu on .