Fork me on GitHub

一瓶啤酒引发的趣事

今天下午朋友发了一个这么一个问题:

question

然后另一个朋友拿出本子开始推算:

calculate

我看到之后感觉这么算既累还可能出错,作为一个懒癌晚期的程序员,果断打开一个Playground,整理一下思路,写出如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// 啤酒数量
var beerCount = 5 // 初始值 10元买5瓶啤酒
/// 瓶盖数量
var cap = beerCount // 初始值,瓶盖也是5个
/// 酒瓶数量
var bottle = beerCount // 初始值,酒瓶也是5个

while true {

guard bottle/2 > 0 || cap/4 > 0 else {
break
}

/// 酒瓶兑换所得啤酒
let bottleExchange = bottle/2

beerCount += bottleExchange
bottle = bottle%2 + bottleExchange
cap = cap + bottleExchange

/// 瓶盖兑换所得啤酒
let capExchange = cap/4

beerCount += capExchange
bottle = bottle + capExchange
cap = cap%4 + capExchange
}

print("总共瓶酒数量:", beerCount)
print("剩余酒瓶数量:", bottle)
print("剩余瓶盖数量:", cap)

最终得到运行结果:

结果

------------- 本文结束感谢您的阅读 -------------