问题:
啤酒 2元一瓶
4个瓶盖可以换一瓶啤酒
2个空瓶可以换一瓶啤酒
问:
10元钱最多能喝几瓶啤酒?
【假设老板可以在不受损失的情况下满足你的所有要求】
答案:
20瓶
分析:
常规的推导算法:
第一次: 10元全部购买5瓶啤酒 喝:5瓶 剩余:5个瓶盖 5个空瓶
第二次: 5个瓶盖、5个空瓶 换3瓶啤酒 喝:3瓶 剩余: 4个瓶盖 4个空瓶
第三次: 4个瓶盖、4个空瓶 换3瓶啤酒 喝: 3瓶 剩余: 3个瓶盖 3个空瓶
第四次: 3个瓶盖、3个空瓶 换1瓶啤酒 喝: 1瓶 剩余: 4个瓶盖 2个 空瓶
第五次: 4个瓶盖、2个空瓶 换2瓶啤酒 喝: 2瓶 剩余: 2个瓶盖 2个空瓶
第六次: 2个瓶盖、2个空瓶 换1瓶啤酒 喝: 1瓶 剩余: 3个瓶盖 1个空瓶
第七次: 3个瓶盖、1个空瓶 向老板借1空瓶换1瓶啤酒 喝:1瓶 剩余:4个瓶盖 1个空瓶 还老板一个空瓶
第八次: 4个瓶盖换1瓶 喝:1瓶 剩余:1个瓶盖 1个空瓶
第九次: 1个瓶盖、1个空瓶 向老板借1空瓶换1瓶啤酒 喝:1瓶 剩余:2个瓶盖 1个空瓶还老板一个空瓶
第十次: 2个瓶盖 向老板借2瓶啤酒 喝:2瓶 剩余:4个瓶盖 2个空瓶
第十一次: 4个瓶盖、2个空瓶 换2瓶啤酒还老板 剩余:无
总共喝掉的啤酒:5+3+3+1+2+1+1+1+1+2=20瓶
换个思路:
从常规推导中我们可以看到,整个过程我们喝掉的只是啤酒,瓶子和瓶盖都最终归了老板,从价值上来分析:
我们可以看到1瓶啤酒的价值包括3部分啤酒、啤酒瓶、啤酒瓶的盖子
一瓶啤酒2元,那么从兑换的规则看,2个空瓶值2元,4个瓶盖值2元,那么一瓶啤酒的价值就分为:
空瓶:1元
瓶盖:0.5元
酒:0.5元
从整个问题来说,问的是我们10元最多能喝多少瓶酒,由于瓶盖和空瓶都可以兑换,只有酒不能换钱,那么我们最终喝掉的只有酒
也就是这个问题简化为:10元钱能喝多少啤酒
计算就非常简单: 10/0.5=20
总结:
有时候考虑问题的时候不妨换个思路,很多时候换个思路可能会更快更好的解决问题.
阅读(1301) | 评论(0) | 转发(0) |