下面是一個代碼,用於查找使用4個不同賬單獲取87的總方法。我想知道如何改變這種方式,以獲得最少數量的賬單(4年,1年,1年,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然後,您可以簡單地查找該數組中的最小數字,這將是您所需的最小數量的賬單。 – 2011-04-09 01:53:18
作業?似乎我的兒子會有一些問題。 – 2011-04-09 01:59:55
另外,請注意,有一個合法的2美元賬單。 – 2011-04-09 02:11:57