只是想仔細檢查一下這段代碼不會有任何錯誤,主要是與模糊運算符有關,我不確定。硬幣更改算法
的問題是:
問題:寫一個ACL算法,考慮物品的成本(小於或等於一美元),給出了50%,20美分,10美分,5的數量如果他們交了一美元,買方將收到1美分和1美分的硬幣。您必須儘量減少更改中的硬幣數量。
我的解決辦法是:
Algorithm coin_change
{
int cost, change, fifty, twenty, ten, five, one;
read(cost);
change = 100 - cost;
fifty = change/50;
change = change % 50;
twenty = change/20;
change = change % 20;
ten = change/10;
change = change % 10;
five = change/5;
change = change % 5;
one = change;
print(fifty, twenty, ten, five, one);
}
我不確定主要的是例如,如果變化是93美分,這將改變到43美分,然後下降到3美分。現在問題是「change = change % 10
」變化時是3美分還是等於3還是變成了?希望這是有道理的。
在此先感謝。
@Bill,不知道我同意這裏封閉,但你有可怕的藍鑽,這意味着所有我能做的就是解釋爲什麼:-)雖然代碼是相似的,這個問題是特別爲約模的一個效果(最初的問題有一個天真的'while'解決方案,根本不使用modulo)。 – paxdiablo
@paxdiablo:夠公平的。我看到他的解決方案並不是來自原問題的答案,所以它是不同的。 –