做一道题目,2元钱买一瓶啤酒,4个瓶盖换一瓶,2个空瓶换一瓶,问10元钱可以喝多少瓶啤酒?
答案:不剩下任何瓶子和盖子,最多可以喝20瓶。
1、10元买5瓶啤酒,喝完后,有5个空瓶和5个盖;
2、4个空瓶换2瓶啤酒,4盖换1瓶啤酒,剩下1个空瓶和1个盖,喝完后,有4个空瓶和4个盖;
3、4个空瓶换2瓶啤酒,4盖换1瓶啤酒,喝完后,有3个空瓶和3个盖;
4、2个空瓶换1瓶啤酒,喝完后,有2个空瓶和4个盖;
5、2个空瓶换1瓶啤酒,4盖换1瓶啤酒,喝完后,有2个空瓶和2个盖;
6、2个空瓶换1瓶啤酒,喝完后,有1个空瓶和3个盖;
7、借1瓶啤酒,喝完后,有2个空瓶和4个盖;换2瓶啤酒,还1瓶,还剩1瓶;
8、借1瓶啤酒,2瓶喝完后,有2个空瓶和2个盖;换1瓶啤酒还上,还剩2个盖;
9、借2瓶啤酒,喝完后,有2个空瓶和4个盖;换2瓶啤酒还上,不再剩下瓶和盖。
所以共有:5+3+3+1+2+1+2+1+2=20。
扩展资料
还有另一种比较简单的算法:
2元1瓶瓶酒,4个瓶盖换1瓶,2个瓶子换一瓶,算下来:1个瓶盖0.5元,1个瓶子1元,1瓶啤酒净水=2-0.5-1=0.5元,这样10/0.5=20瓶啤酒。
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。
已知10元钱=5瓶啤酒
+5个瓶盖+5个空瓶
∵4个瓶盖=1瓶啤酒
∴5个瓶盖=1瓶啤酒
∵2个空瓶=1瓶啤酒
∴5个空瓶=2瓶啤酒
所以10元钱=5瓶啤酒+1瓶啤酒(4个瓶盖换的)+2瓶啤酒(5个空瓶换的)=8瓶啤酒