是的我知道有類似的帖子,但通過他們看後,我仍然卡住,因爲我很新的編程,沒有給出的答案是足夠具體的我的問題來幫助。算法的最小變化量
問題。 編寫一個高效的ACL(算法計算機語言)算法,給定一個項目的成本(小於或等於一美元),給出購買者50美分,20美分,10美分,5美分和1美分硬幣的數量如果他們交了一美元就會收到。您必須儘量減少更改中的硬幣數量。
問題是不與任何具體的編程語言,答案只能用簡單的ACL語言一樣,如果,如果其他,while循環而不能使用數組或其他高級命令。
這是我在這裏:
輸入代碼在這裏改變
{
int cost, fifty, twenty, ten, five, one;
fifty = 0;
twenty = 0;
ten = 0;
five = 0;
one = 0;
read (cost);
if (cost <= 50)
{
fifty = 1;
的算法最小量
完成的代碼,謝謝你們的幫助!如果您看到任何含糊之處或可以幫助我簡化代碼,請讓我知道。
Algorithm how much change
{
int cost, change, fifty, twenty, ten, five, one;
fifty = 0;
twenty = 0;
ten = 0;
five = 0;
one = 0;
read (cost);
change = 100 - cost;
if (change >= 50)
{
fifty = fifty + 1;
change = change - 50;
}
while (change >= 20)
{
twenty = twenty + 1;
change = change - 20;
}
while (change >= 10)
{
ten = ten + 1;
change = change - 10;
}
while (change >= 5)
{
five = five + 1;
change = change - 5;
}
while (change >= 1)
{
one = one + 1;
change = change - 1;
}
print(one, five, ten, twenty, fifty);
}
20分?出於好奇,我們在這裏用什麼貨幣?我不確定誰有20美分。或者那個價值只是假設? (或者它是一個錯字) – nzifnab 2011-03-08 07:43:33
很多貨幣做afaik。大多數貨幣都以這些比例出現(1-2-5),並且您有5-10-25-50-100-250-500個硬幣或1-2-5-10-20-50-100-200個硬幣。至少歐元具有後者的配置。 – markijbema 2011-03-08 07:46:47
@nzifnab:可能是歐元。 – 2011-03-08 07:50:23