Annettuna on kolikkoa ja summa . Laske, mikä on suurin määrä kolikkoja, joilla summa voidaan muodostaa.
Voit olettaa, että ja . Yksi kolikoista on aina arvoltaan . Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.
Toteuta tiedostoon maxcoin.py
funktio find
, joka palauttaa tehtävän vastauksen.
def find(x, coins): # TODO if __name__ == "__main__": print(find(5, [1, 2, 5])) # 5 print(find(10, [1])) # 10 print(find(8, [1, 2, 3, 4, 5])) # 8
Selitys: Kun ja kolikot ovat , optimiratkaisu on , jossa on kolikkoa.