1
我試圖找到一個簡單的回答一個簡單的問題..這..如何解釋這個硬幣改變算法
說你有一個硬幣找零算法,N = 10的系統d(1)= 1,d(2)= 7,和d的面額(3)= 10。
現在給出該實施方式中從教科書的算法..
Greedy_coin_change(denom, A)
{
i = 1;
While (A > 0) {
c = A/denom[i];
print(「use 「+c+」coins of denomination」+denom[i];
A = A – C * denom[i];
i = i+1;
}
}
不會結果是:「使用面額1的10個硬幣」?
這是因爲從我的理解當然,denom [1] = 1,denom [2] = 7,denom [3] = 10.正確?
如果是這種情況,該算法不會被認爲是最優的,正確的?
然而,有一個我不知道上面的代碼中一個小的語句,如果它甚至應該被視爲代碼的一部分,那就是:
DENOM [1]> DENOM [2 ]> ...> DENOM [N] = 1
謝謝! d(1)= 1,d(2)= 7和d(3)= 10是混淆的根源。所以它必須按降序排序,然後冷卻。就是我的想法。我很快就會接受你的回答。 – GelatinFox