题解 | #汽水瓶#

汽水瓶

https://www.nowcoder.com/practice/fe298c55694f4ed39e256170ff2c205f

## 方法1:找规律
#   0    -- 结束循环
#   1    -- 0
#   2,3 -- 1
#   4,5 -- 2
#   6,7 -- 3
#   8,9 -- 4
# 总结:输入数据大于 2 时,所换到的汽水 为 空瓶子的一半,即为 该数除以2取整的结果
import sys

for line in sys.stdin:
    a = int(line.strip().split()[0])
    if a == 0:
        break
    else:
        print(a//2)

## 方法2:递归
import sys

for line in sys.stdin:
    a = int(line.strip().split()[0])
    if a == 0:
        break
    else:
        def qishui(a):
            if a == 2:
                return 1
            else: 
                b = a // 3
                c = a % 3
                if b + c < 2:
                    return b
                else:
                    return b + qishui(b + c)
        print(qishui(a))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务