Todos los desafíos
Intermedio 0 resueltos 0% de aceptación

Count Coin Combinations

Count ways to make an amount with unlimited coins of specified denominations.

Use any number of each supplied denomination to make amount exactly. Count combinations, not orderings: two arrangements using the same counts of each coin are the same way. Denominations are distinct and positive.

Implement coin_sums(amount, coins).

Input

amount: The total amount to make.

coins: The available distinct denominations.

Output

Return the number of unordered combinations.

Restricciones

0 ≤ amount ≤ 200. There are 0 through 10 distinct denominations, each from 1 through 200. All counts fit signed 64-bit. Amount 0 has one way: choose no coins.

Ejemplos

Ejemplo 1
Entrada:
coins = [1, 2]
amount = 4

Salida esperada:
expected = 3
Entrada:
std::vector<long long> coins = {1, 2};
long long amount = 4;

Salida esperada:
long long expected = 3;
Entrada:
long[] coins = new long[] {1, 2};
long amount = 4;

Salida esperada:
long expected = 3;

Explicación

The combinations are four 1s, two 1s with one 2, and two 2s.

Ejemplo 2
Entrada:
coins = [2]
amount = 3

Salida esperada:
expected = 0
Entrada:
std::vector<long long> coins = {2};
long long amount = 3;

Salida esperada:
long long expected = 0;
Entrada:
long[] coins = new long[] {2};
long amount = 3;

Salida esperada:
long expected = 0;

Explicación

Any sum of 2-valued coins is even, so 3 is impossible.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.