返回变更算法

时间:2018-04-18 10:08:04

标签: algorithm

我正在尝试为自动售货机编写一个C程序,并且在扣除价格后我一直在改变。

步骤如下

  • 输入金额:5
  • 选择一个项目:1
  • 获取您的物品!变化:4

这是我还有硬币的时候。 所以在硬币完成后,程序应该这样做:

  • 输入金额:2
  • 选择项目:4 //项目的价格为1
  • 获取您的物品!还剩1秒! 2,使用0.5!
  • 变化:1

我被困在了解变化的方式,如何确定将返回3 0.5s或30 0.05s?

注意:请不要给我任何代码,我想自己做,只有算法。

1 个答案:

答案 0 :(得分:0)

使用贪婪算法。不是选择,但是这个想法很简单:虽然还有剩余的更改量,但是选择硬币的最大可用面额小于或等于剩余金额。挑选每枚硬币后,从剩余金额中减去所选硬币值,并减少该面额的可用硬币数量。