本文主要是介绍微博上娱乐用的买饮料问题无约束条件下的级数求解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
没什么难度的问题背景
好多年前,微博上就有类似这样的问题:
问题A
1瓶饮料5块,但是2个空瓶能换1瓶新的,4个瓶盖能换1瓶新的。假如你有20块,理论上你最多能喝多少瓶?
类似问题的不同问法:
问题A’
林会计出的题:一瓶飲料2元,兩個瓶蓋可再換一瓶;四個無瓶蓋空瓶又可換一瓶,請問20元可喝多少瓶? @林志炫TerryLin
变种的问题:
问题B
一瓶汽水一块钱 两个空瓶换一瓶汽水 3个瓶盖换一瓶汽水 问:20块钱共得到多少瓶汽水
级数求解
对问题A,不考虑瓶子和瓶盖的“整数”特征、也不考虑置换的次数一直可达无穷次,直接使用简单重复的加和,得到下面的公式:
= ∑ k = 0 ∞ ( 3 4 ) k = 1 1 − 3 4 = 4 =\sum\limits_{k=0}^\infty \left(\dfrac{3}4 \right)^k=\dfrac{1}{1-\dfrac{3}4}=4 =k=0∑∞(43)k=1−431=4
所以,原始的每瓶饮料,相当于不含瓶盖和空瓶的4瓶饮料。
从可以任意置换和赊欠的角度,1瓶的价钱,可以喝到四瓶饮料,自己不保留任何瓶盖和空瓶。以20块为例,原始的饮料单价5块,能买4瓶,对应于 4 × 4 = 16 4\times 4=16 4×4=16瓶的纯粹的、不含瓶盖和空瓶的饮料。直接付4瓶的钱20元、再通过赊欠,共买到16瓶,其中12瓶是赊欠的;喝光之后,归还16个空瓶(对应8瓶)、以及16个瓶盖(对应4瓶),刚好归还了12瓶赊欠的饮料,自己不再拥有空瓶或瓶盖。
如此, 问题B只是不同的级数而已:
∑ k = 0 ∞ ( 5 6 ) k = 1 1 − 5 6 = 6 \sum\limits_{k=0}^\infty \left(\dfrac{5}6\right)^k=\dfrac{1}{1-\dfrac{5}6}=6 k=0∑∞(65)k=1−651=6
相当于,包含包装材料的每瓶饮料、对应于6瓶不含包装材料的饮料液体。在没有操作约束的条件下,完全可以直接按照价值来计算。把每瓶饮料的单价除以6,再用总的钱数去购买即可。
这篇关于微博上娱乐用的买饮料问题无约束条件下的级数求解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!