Annettuna on kolikkoa ja summa . Laske, monellako eri tavalla summa voidaan muodostaa kolikoista.
Tässä tehtävässä kaksi tapaa ovat erilaiset, jos järjestetyt listat ovat erilaisia. Esimerkiksi ja ovat eri tavat, mutta ja eivät ole.
Voit olettaa, että ja . Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.
Toteuta tiedostoon diffcoin.py
funktio count
, joka palauttaa tehtävän vastauksen.
def count(x, coins): # TODO if __name__ == "__main__": print(count(5, [1])) # 1 print(count(5, [1, 2])) # 3 print(count(13, [1, 2, 5])) # 14 print(count(42, [1, 5, 6, 17])) # 58 print(count(99, [2, 4, 6])) # 0