比奇屋

最新地址:www.biqi5.com
比奇屋 > 编程之战 > 第二十六章 自动售货机

第二十六章 自动售货机

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

杨成坏坏地笑了。

“好,满足你!”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

比奇屋 www.biqi5.com