Tutte le sfide
Media 0 risolte 0% di accettazione

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.

Vincoli

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.

Esempi

Esempio 1
Input:
coins = [1, 2]
amount = 4

Output atteso:
expected = 3
Input:
std::vector<long long> coins = {1, 2};
long long amount = 4;

Output atteso:
long long expected = 3;
Input:
long[] coins = new long[] {1, 2};
long amount = 4;

Output atteso:
long expected = 3;

Spiegazione

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

Esempio 2
Input:
coins = [2]
amount = 3

Output atteso:
expected = 0
Input:
std::vector<long long> coins = {2};
long long amount = 3;

Output atteso:
long long expected = 0;
Input:
long[] coins = new long[] {2};
long amount = 3;

Output atteso:
long expected = 0;

Spiegazione

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

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.