是的我知道有类似的帖子,但通过他们看后,我仍然卡住,因为我很新的编程,没有给出的答案是足够具体的我的问题来帮助。算法的最小变化量
问题。 编写一个高效的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