什么算法可以用来确定每个硬币有多少(2,1,0.5,0.2,0.1和0.05)是必要的以反映总货币值(四舍五入到必要的最小硬币单位)?C#:返回应该返回多少种硬币
较大的硬币应具有最高优先级。
E.g.
2.55$ = 1x2 + 1x0.5 + 1x0.05
什么算法可以用来确定每个硬币有多少(2,1,0.5,0.2,0.1和0.05)是必要的以反映总货币值(四舍五入到必要的最小硬币单位)?C#:返回应该返回多少种硬币
较大的硬币应具有最高优先级。
E.g.
2.55$ = 1x2 + 1x0.5 + 1x0.05
你想从最高的硬币到最低的硬币。
“giveback”中有多少个2?拿2 *这个数字作为回报,然后计算在“回报”中剩下多少个1。然后有多少个0.5s,直到最后。
例如:
相同的回报= 8.57
4 * 2欧元硬币在8.可以通过将相同的回报由2(4.285)然后向下舍入到最接近的整数找到这个(4) 。
8.57 - (4 * 2)= 0.57。
0 * 1枚欧元硬币在0.57
1枚* 0.5硬币0.57,其余0.07
等。
我不想给你的代码,否则你可以复制/粘贴到你的任务,但这个逻辑应该有所帮助。
这不应该被关闭,是一个完全有效的问题。 – plalx 2014-11-01 12:15:29
@plalx这是有点可疑的;如果他们有一个想法,但是正在与执行的特定部分斗争,当然。但事实如此,这只是“为我做作业”。 OP已经证明没有尝试甚至开始。 – 2014-11-01 12:22:18
@MarcGravell我试图改写这个问题,使其更具体。 – plalx 2014-11-01 12:23:24