编程之战_第二十六章 自动售货机 首页

字体:      护眼 关灯

上一章 目录 下一章

   第二十六章 自动售货机 (第1/1页)

    “我的要求很简单,就是能喝上一罐82年份的雪碧”。

    杨成坏坏地笑了。

    “好,满足你!”

    系统声音刚落,杨成就出现在了一个自动售货机前面。

    漆黑的夜晚,明亮的路灯下面,自动售货机散发出微蓝色的光芒,里面一排排的货架盛放着一瓶瓶饮料。

    杨成掏出几个硬币,先选中了雪碧下面的按钮,然后把硬币塞进投币口。

    估摸着过了好几秒钟,从出货口并没有滚出来饮料。

    相反一个便笺飘落了下来。

    借着微弱的灯光,杨成拿起便笺一看,上面写着几行小字。

    “为自动售货机编写业务逻辑,已知规则如下:”

    “1.售货机接收N种纸币或硬币,其中包括1元,5元,10元....”

    “2.售货机最开始拥有各种类型钱币的数量都是一定的”。

    “3.如果投入的钱币低于商品的价值,那么将钱币原封不动地退回”。

    “4.如果投入的钱币等于商品的价值,那么无须找零”。

    “5.如果投入了售货机不支持的钱币类型,原路返回无效的钱币”。

    “6.如果要找零,尽可能从大额的纸币开始,比方说,要找25块钱,退回的结果是1张20块和1张5块,而不是2张10块的和1张5块”。

    “7.如果售货机已有的钱币无法全额找零,那么尽可能接近地找零,但售货机是不能吃亏的!”

    “这是个背包问题啊”,杨成挠了挠头。

    最后一条描述说明了问题的性质。

    背包问题可以描述为:

加入书签 我的书架

上一章 目录 下一章