【发布时间】:2011-03-08 07:39:48
【问题描述】:
是的,我知道有与此类似的帖子,但是在浏览完所有帖子后,我仍然陷入困境,因为我对编程非常陌生,并且给出的答案都不足以针对我的问题提供帮助。
问题。 编写一个有效的 ACL(算法计算机语言)算法,给定一件物品的成本(小于或等于 1 美元),给出购买者想要的 50 美分、20 美分、10 美分、5 美分和 1 美分硬币的数量如果他们交出一美元,就会收到。您必须尽量减少找零中的硬币数量。
该问题与任何特定的编程语言无关,答案只能使用简单的ACL语言,如if、if-else、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 美分。或者这个值只是假设的? (或者是错字)
-
很多货币都做afaik。大多数货币都以这些比例出现(1-2-5),你要么有 5-10-25-50-100-250-500 个硬币,要么有 1-2-5-10-20-50-100-200 个硬币.至少欧元有后一种配置。
-
@nzifnab:可能是欧元。
-
我是澳大利亚人,我们有 5c 10c 20c 50c $1 和 2$ 硬币。感谢到目前为止的所有帖子,对不起,我是个菜鸟,我只决定在大学选修一门编程课程,所以我没有经历过如此抱歉的经历。
-
除了美国以外,几乎所有人都有 20c 件。
标签: algorithm coin-change