知乎用户回答BENSON14人赞同了该回答 递推迭代算法浪费资源,直接用m=4k-5运算即可;喝的总瓶数m=4*初次瓶数k-5,详细过程参见我的解答(点击我的用户名,最下方的那条解答)。4块钱能喝3瓶;6块钱能喝7瓶;8块钱能喝11瓶;10块钱能喝15瓶;12块钱能喝19瓶;14块钱能喝23瓶;16块钱能喝27瓶;18块钱能喝31瓶;20块钱能喝35瓶;30块钱能喝55瓶;40块钱能喝75瓶;50块钱能喝95瓶;60块钱能喝115瓶;
70块钱能喝135瓶;
编辑于 2016/2/24 22:51:05仝老师北京邮电大学理学院数学系教师9人赞同了该回答 钱 酒 空 盖 累计
10 0 0 0 0
0 5 0 0 5
0 0 5 5 5
0 3 1 1 8
0 0 4 4 8
0 3 0 0 11
0 0 3 3 11
0 1 1 3 12
0 0 2 4 12
0 2 0 0 14
0 0 2 2 14
0 1 0 2 15
0 0 1 3 15
0 1 0 1 16 (俩瓶盖相当于一空瓶)
0 0 1 2 16
0 1 0 0 17
0 0 1 1 17
0 1 0 -1 18 (欠一个盖)
0 0 1 0 18
0 1 -1 0 19 (欠一个空瓶)
0 0 0 1 19
0 1 -1 -1 20 (欠一个空瓶和一个盖)
0 0 0 0 20 (喝完最后一瓶,还清欠账)
另一种方法,设每个空瓶 x 元,每个盖 y 元,每瓶酒(不含空瓶和盖)z 元,那么
x + y + z = 2 (每瓶酒 2 元,包括空瓶和盖)
2x = 2 (俩空瓶换一瓶酒)
4y = 2 (四个盖换一瓶酒)
所以,x = 1,y = 0.5,z = 0.5
10 / 0.5 = 20(瓶)
BTW:如果卖酒老板不同意借空瓶和盖……
如果老板不同意借空瓶和盖,那么可以先要 20 瓶酒,喝完了,放下 10 元钱,然后拍走人。编辑于 2016/2/25 20:25:21花灬钱丨月下丶3人赞同了该回答 卖酒老板不同意借空瓶和盖 15瓶 否则20瓶编辑于 2016/1/28 9:32:57