4つの異なる請求書を使って87を得る総合的な方法を見つけるためのコードです。私はどのようにすべての単一の方法の代わりに最小額の請求書(4 - 20代、1 - 5、2 - もの)を得るためにこれを変更するのだろうかと思います。どんな助けもありがとう。C#ドル建てを計算する
int target = 87;
int[] dollarSizes = { 1, 5, 10, 20 };
int[] ways = new int[target+1];
ways[0] = 1;
for (int i = 0; i < dollarSizes.Length; i++) {
for (int j = dollarSizes[i]; j <= target; j++) {
ways[j] += ways[j - dollarSizes[i]];
}
}
一つの方法は、あなたが配列に$ 87に到達するために使用しなければならなかったどのように多くの法案を追跡することでしょう。次に、その配列の中で最小の番号を探すだけで、必要最低限の請求書になります。 –
宿題?私の息子が質問するようなもののようです。 –
また、合法的な2ドルの請求書があることに注意してください。 –