C#:返回应退回多少硬币

时间:2014-11-01 12:08:42

标签: c#

可以使用什么算法来确定每个硬币的数量(2,1,0.5,0.2,0.1和0.05)是否需要反映总货币价值(必要时四舍五入到最小的硬币单位)?

较大的硬币应该具有最高优先级。

E.g。

2.55$ = 1x2 + 1x0.5 + 1x0.05

1 个答案:

答案 0 :(得分:1)

你想用最高的硬币工作到最低的硬币。

"交还"中有多少2?取2 *那个数字关闭交还,然后计算剩下多少1s"交还"。那么多少0.5秒,依此类推,直到最后。

例如:

Giveback = 8.57

8中的4 * 2欧元硬币。您可以通过将回馈除以2(4.285)然后向下舍入到最接近的整数(4)来找到它。

8.57 - (4 * 2)= 0.57。

0 * 1欧元硬币0.57

0.57中的1 * 0.5个硬币,保持0.07

等等。

我不想给你代码,否则你可以复制/粘贴到你的作业中,但这个逻辑应该会有所帮助。