【Scratch数学编程】爱喝酒的小猫

一个经典的智力问题:有一只小猫爱喝酒,一天,听说酒店买酒有优惠:一瓶酒两元钱。2个空酒瓶或4个瓶盖可换1瓶啤酒。小猫一次可以喝10瓶酒,心想今天拿10元钱去喝酒,肯定不会醉。小猫按照酒店的优惠信息,花了10元钱,把能兑的酒也都喝了。请问小猫喝醉了没?他到底一共喝了多少酒?

好吧,一些朋友可能已经算出来了。那么我增加难度:

过了一年,小猫苦练酒量,一次可以喝10000瓶酒了。这次,他拿了10000元去酒吧,结果酒吧又是相同的促销活动。于是,小猫按照同样的优惠信息,拿了10000元去喝酒,且全部喝完了。请问小猫喝醉了没?他到底一共喝了多少酒?

要知道,这个时候,如果不借助公式或工具,再计算是相当困难的。

我们回到10元钱喝酒的问题。每获得一瓶酒,可以有三种方式:1.花2块钱买;2. 用2酒瓶换;3. 用4瓶盖换

将每获得一瓶酒并喝掉它视为一个步骤,整个消费过程由有限有序步骤组成,每一步有三种执行方式。考察任一步骤前后“酒瓶和瓶盖的总个数(记为N)”的变化。

很容易得到:若该步采取方式1,则N+2;若该步采取方式2,则N不变;若该步采取方式3,则N-2。

考虑初态(即第一步之前):N=0。因此,每一步之后N总是偶数。

考虑末态(即最后一步之后)。末态当然是消费者钱和酒瓶和瓶盖都不够,再也搞不到酒的时候呗。

钱不能增加,所以末态金钱0;最后一步喝了一瓶酒,所以末态至少有1个瓶盖和1个酒瓶。

不仅如此,由于每一步都喝了一瓶酒,所以每一步之后都至少有1瓶盖和1酒瓶。

因此末态时N≥2且N为偶数。

1. N≥6时,瓶盖数≥4和酒瓶数≥2必有至少一个成立,这显然不是末态。
2. N=2时,瓶盖数=酒瓶数=1。若最后一步采用方式1,那之前N=0(总步骤数显然大于1),矛盾;若最后一步采用方式2,则之前瓶盖数为0,矛盾;若最后一步采用方式3,则之前酒瓶数为0,矛盾。总而言之N=2不可能是末态。

于是末态的时候只能有N=4;符合末态条件的N=4只有1酒瓶+3瓶盖。附:金钱0。


接下来有了理论支持就可以暴力求解最大值了。设一瓶酒里的酒价值x,酒瓶价值y,瓶盖价值z,随手列个三元一次方程组解得:

x=1/2,y=1,z=1/2 (单位元)

于是:初态猫有10元,末态猫有2.5元。整个消费过程是等价交换,消失的那些钱去哪儿了?变成酒进猫肚儿了呗。

7.5÷1/2=15。

当然,使用这个方式倒是可以计算出10000元喝多少酒。

但是,我们用工具就简单多了。

【Scratch数学编程】爱喝酒的小猫-少儿编程网

例如,如果我们用excel,可以这样:

【Scratch数学编程】爱喝酒的小猫-少儿编程网

那么,我们会Scratch编程的朋友,能不能想到如何使用Scratch来计算呢?这里给出了答案:

作品链接: https://pan.baidu.com/s/1hrDlFl6 密码: fpd9

【Scratch数学编程】爱喝酒的小猫-少儿编程网

事实上,我们用Scratch还可以解决很多数学智力问题。所以Scratch会是我们的好朋友。你看,用这个智力题做了一个简单的故事,趣味性更强了。

本文链接:【Scratch数学编程】爱喝酒的小猫

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:少儿编程网,谢谢!^^


*文章为作者独立观点,不代表少儿编程网立场
发表评论

3 条评论
相关文章
编程少年丨余疆海:个性十足却不失温度
编程少年丨余疆海:个性十足却不失温度
为什么大家都建议学习少儿编程要从Scratch开始?
为什么大家都建议学习少儿编程要从Scrat…
孩子学完各个阶段的编程课程能够参加哪些比赛?
孩子学完各个阶段的编程课程能够参加哪…
我的孩子从来没有接触过编程,0基础能不能学?
我的孩子从来没有接触过编程,0基础能不…
【精选作品】如何通过Scratch让小猪跑起来?(内附火影粉丝巨献,必看)
【精选作品】如何通过Scratch让小猪跑起…
0基础的孩子应该怎样学习少儿编程?
0基础的孩子应该怎样学习少儿编程?
Scratch是由麻省理工学院(MIT)设计开发的一款面向少年的简易编程工具,是适合于全世界儿童学习编程和交流的工具和平台