Esimerkiksi kun kolikot ovat $[3,4,5]$, mahdolliset summat ovat $3$, $4$, $5$, $7$, $8$, $9$ ja $12$. Tässä tapauksessa on siis $7$ mahdollista summaa. Huomaa, että summassa tulee olla vähintään yksi kolikko eli tyhjä ratkaisu ei kelpaa.
Voit olettaa, että $1 \le n \le 100$ ja jokaisen kolikon arvo on välillä $1 \dots 100$
Python
Toteuta tiedostoon
coins.py
funktio count
, joka antaa mahdollisten summien lukumäärän.def count(t): # TODO if __name__ == "__main__": print(count([3,4,5])) # 7 print(count([1,1,2])) # 4 print(count([2,2,2,3,3,3])) # 13 print(count([42,5,5,100,1,3,3,7])) # 91Java
Toteuta tiedostoon
Coins.java
metodi count
, joka antaa mahdollisten summien lukumäärän.public class Coins { public int count(int[] t) { // TODO } public static void main(String[] args) { Coins c = new Coins(); System.out.println(c.count(new int[]{3,4,5})); // 7 System.out.println(c.count(new int[]{1,1,2})); // 4 System.out.println(c.count(new int[]{2,2,2,3,3,3})); // 13 System.out.println(c.count(new int[]{42,5,5,100,1,3,3,7})); // 91 } }