Annettuna on n kolikkoa ja summa x. Laske, mikä on suurin määrä kolikkoja, joilla summa voidaan muodostaa.
Voit olettaa, että 1 \le n \le 10 ja 1 \le x \le 100. Yksi kolikoista on aina arvoltaan 1. 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 x=5 ja kolikot ovat [1,2,5], optimiratkaisu on [1,1,1,1,1], jossa on 5 kolikkoa.