登陆注册
37240300000026

第26章 自动售货机

“我的要求很简单,就是能喝上一罐82年份的雪碧”,杨成坏坏地笑了。

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

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

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

估摸着过了好几秒钟,从出货口并没有滚出来饮料,相反一个便笺飘落了下来。

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

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

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

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

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

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

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

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

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

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

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

背包问题可以描述为:给定一组物品,每种物品都有自己的价格,在限定的总价值内,我们如何选择,才能使得物品的总价格最高。

对于这一类问题,最好最高效的方法是动态规划求解,但使用递归蛮力求解,在小数据范围内也是可以的。

假如售货机内已有1元钱币3个,5元钱币5个,20元钱币1个。

我要购买3元的雪碧一瓶,并投进去了一张20元纸币,那么我得找零17元。

先看能用于找零的有什么样的钱币,20元的肯定排除,因为它大于17,售货机可不干亏本买卖!

然后,我们看3个1元钱币和5个5元钱币能不能产生找零17元的结果?

答案是肯定的,3个5元钱币和2个1元钱币就能够组成17。

这就是递归匹配的过程,不过具体实现上面,很多地方可以优化,用来提高效率。

“真的是好麻烦啊”,杨成擦了一把汗,在路灯的照耀下挥汗如雨。

早知道喝瓶雪碧解解渴这样的简单要求居然要先写个多小时的代码,还不如把自己送到海南喝点纯正的椰子汁。

“哟西,终于搞定了”,杨成不愧是有毅力的程序员。

“叮!恭喜您完成了自动售货机的相关任务!”

“当前积分55分,击败了全球27%的玩家,请您再接再厉!”

“咕噜噜”,从自动售货机的出货口滚落下来一瓶冰镇的雪碧,还有一张小小的便笺。

便笺上面写着一行娟秀的字迹——“请慢用^_^”

同类推荐
  • 末日数码病毒

    末日数码病毒

    三个月前,南极冰盖中发现一艘冰封的宇宙飞船。人类天真的以为这会是地球文明的一次光速进化,但其实,这是一场巨大的灾难。于是当主机重启的那一刻,一种宛若神明的数码病毒沿着地球磁场转眼间遍布了世界。这种数码病毒可以篡改网络,甚至侵入人体改造基因图谱,侵入物质改造质子组合形成新的物质。总之,这个世界被游走在空气中的无数数据改造成了一场可笑的游戏,但是当游戏与人命搭上关系时,再也没有人觉得它可笑。数码病毒集成体则自称为:天网系统!而我们的主角叶岚,只是因为一个黑色的重生十字章重生回学生时代的——普通人。
  • 穿越从太极开始

    穿越从太极开始

    一个玩笑让方子敬再也无法回到地球,从此他只能在地球拍过的电影中流浪,但是方子敬觉得这对自己来说并不是一个坏事,而是上天赐予他的天大的好事,于是某些电影中出现了非常不和谐的一幕。“杨露婵,你的三花聚顶让给我好不好,这样你就不用害怕死掉了。而且,陈玉娘是我老婆,你离她远点!”“......”“托尼,你身上的全都是破铜烂铁。什么?你不信,看我怎么把它拆下来!”“......”
  • 我的不败传承

    我的不败传承

    赤壁的对决,木叶的战争,现实的异变,轮回的重现。一场大梦,因你而起,因你而终。你姓东方,我叫步白,在一起才是东方不败。大千世界多姿多彩,不败传承各有千秋。从地球启航,探索无边星际,威压万千种族。科幻穿越加纯爱,老读者开书求支持,求点击,求收藏,求推荐。
  • 宅男的命运改写

    宅男的命运改写

    你是否看不惯故事主角?你是否看不惯故事情节?如果给你一个改变它的机会,你会怎么做?而这就是我要做的!
  • 我是时空商人

    我是时空商人

    我穿越了,这是哪里?我又穿越了,这是哪里?我不停的穿越,行走在无尽的时空中,探寻真理,额,顺便卖东西。“走过路过不容错过啊,便携式老爷爷只要998,帮你走上人生巅峰”
热门推荐
  • 12只唯一的爱—EXO

    12只唯一的爱—EXO

    本人不写虐文,但还是会有一点点虐,有宠文的因素,绝对np文。
  • 重生之我有未来系统

    重生之我有未来系统

    她,一个前世的废柴千金,“妹妹”的算计,未婚夫的背叛,两两通奸,家人的利用,一切的失去,让她对着这个领养回来的“妹妹”寒了心,自己领回来的怎么会是白眼狼,这些年自己待她不薄啊!为什么会这样!重生一世,系统灵魂契约,原本以为可以一切重来,没想到这坑爹的系统,她还没重生多久,又死了,竟然还踏上了快穿之旅,虽说美男多多,但,说好的重生呢?坑爹系统,还我重生!团团{嘤嘤...宿主大大...我错辣}群号:247677032有建议的加哦
  • 神奇宝贝之无敌系统

    神奇宝贝之无敌系统

    云龙穿越到宠物小精灵里,手中有无敌系统帮他称霸世界,来让我们来看看他的熊(雄)姿吧!
  • 刻骨铭心:情似屋

    刻骨铭心:情似屋

    如果说往事,对于他,如诺不是刹那时,我便会坚贞自己最初始的选择。我很庆幸在这大千世界里遇到你,我怕我面对这个肮脏混乱的世界时不知所措,我怕。所有的一切我都愿意,因为我嫉妒。我可以为了你不要命,你敢么?如果可以我将来不想成为你的亲人,而是情人。这一生还这样漫长,可是已经结束了,寂寞空庭春欲晚,梨花满地不开门。轩逸,爱一个人这样容易,恨一个人这样容易。这世上最可悲的一件事,便是穷尽心智地追寻一东西,最后却离当初越来越远。明明是想挨得近一些,再近一些,却不知到底哪里出了差错,就这样渐行渐远。你很残忍,让我杀了你,却只留了我一个人。
  • 极品傲娇女友

    极品傲娇女友

    2016爆笑来袭!还是一样的欢乐,还是一样的感动!还记得那年七夕情人节,我们一起花前月下,你看着喜羊羊,哭着对我说:“为什么灰太狼不能和喜羊羊一起看星星看雪看月亮,从诗词歌赋谈到人生哲学?为什么真爱的羊与狼不能在一起?”“你从哪里看出喜羊羊和灰太狼是真爱的?”你委屈的看着我,泪眼婆娑,一把鼻涕一把泪往我身上摸着说:“你们男生真的不懂爱!”
  • 夜夕

    夜夕

    随着夜夕的成长,一点点的揭露了隐藏在深处的秘密……身份?前世?他是谁?想要了解敬请期待《夜夕传》,夜夕的成长故事!
  • 重生之圣女无双

    重生之圣女无双

    高中女生沐曦发现自己竟然被人跟踪了?!跟踪她的是个长得非常好看的男人,不过,那男人似乎精神有些不正常,见到她,二话不说,便强行掳走,说要她跟他回家,还说她是他的帝姬。沐曦惊呆了,看他长得秀色可餐,没想到竟然是个人贩子!不过,她沐曦也不是吃素的,敢用这么低劣的理由,这人智商肯定不高,待她晓之以情动之以理长篇大论说完,没想那人只是安静的坐在对面,若有所思的望着她,一副好看的眉毛微微皱起,最后似乎下定决心一般说道“阿和,你不用担心你现在的容貌,不管你变成什么样子,我都会娶你。”
  • 仙侠之六界

    仙侠之六界

    世界,是强者的棋盘。谁,是棋盘上的棋子?浩大的仙侠领域,又有谁能够主宰?这里有玉帝、杨戬、太上老君、九天玄女、元始天尊;有如来佛祖、地藏王、观世音、十八罗汉;也有魔尊、四大魔王、十大魔兽、王族十六魔;还有妖尊神农、邪帝后羿、剑祖伏羲、圣神女娲。六界风云,明争暗斗,无数精彩传奇纷纷呈现。且看叶云飞勇往直前,逆天抗命,横扫六界,傲立顶峰。
  • 龙行明朝

    龙行明朝

    皇啻王朝系列二:他叫龙傲云,大哥让他到皇啻大学签约一个女生,作为搭档合拍。谁知道,一眼百年。他们两个一起穿越了,回到明朝的正德四年。一个明星,回到明朝,除了卖金卖银卖首饰穿戴,怎么还能带着女生,一起进入教坊司,授予官职。他姓龙,但不是皇帝,平安化王造反也没事,不能因为他姓龙就抓吧?喂,他真的姓龙,完全不会功夫。不是吧,连蒙汗药都要用来防身,他是好人家的儿子,平生不做亏心事。算了,还是入乡随俗吧!反正待够一年,回家的时间,还是穿越的当晚,不过后推一个小时而已。(龙傲云身份设定,和他求活路,写的一切歌词都是原创,请手下留情,非转禁擅用。)
  • 相思谋:妃常难娶

    相思谋:妃常难娶

    某日某王府张灯结彩,婚礼进行时,突然不知从哪冒出来一个小孩,对着新郎道:“爹爹,今天您的大婚之喜,娘亲让我来还一样东西。”说完提着手中的玉佩在新郎面前晃悠。此话一出,一府宾客哗然,然当大家看清这小孩与新郎如一个模子刻出来的面容时,顿时石化。此时某屋顶,一个绝色女子不耐烦的声音响起:“儿子,事情办完了我们走,别在那磨矶,耽误时间。”新郎一看屋顶上的女子,当下怒火攻心,扔下新娘就往女子所在的方向扑去,吼道:“女人,你给本王站住。”一场爱与被爱的追逐正式开始、、、、、、、