Alle Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

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.

Einschränkungen

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.

Beispiele

Beispiel 1
Eingabe:
coins = [1, 2]
amount = 4

Erwartete Ausgabe:
expected = 3
Eingabe:
std::vector<long long> coins = {1, 2};
long long amount = 4;

Erwartete Ausgabe:
long long expected = 3;
Eingabe:
long[] coins = new long[] {1, 2};
long amount = 4;

Erwartete Ausgabe:
long expected = 3;

Erläuterung

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

Beispiel 2
Eingabe:
coins = [2]
amount = 3

Erwartete Ausgabe:
expected = 0
Eingabe:
std::vector<long long> coins = {2};
long long amount = 3;

Erwartete Ausgabe:
long long expected = 0;
Eingabe:
long[] coins = new long[] {2};
long amount = 3;

Erwartete Ausgabe:
long expected = 0;

Erläuterung

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

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.