题解 | #汽水瓶#

汽水瓶

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

while True:
    try:
        n = int(input())
        if n == 0: # 判断是否为最后一个,如果是,跳出循环
            break
        ret = 0 # 输出结果
        yushu = 0 # 余数最开始设置为0
        while n > 2: # 当最后的n小于3退出循环
            ret = (n + yushu)//3 + ret # ret是在原先的基础上进行叠加
            new_yushu = (n+yushu)%3 # 找到新的余数
            n = (n + yushu)//3 # 找到剩下的n
            yushu = new_yushu # 把新的余数进行赋值
        if 1 < n + yushu < 4: # [1, 1][1, 2],[2, 1]
            ret += 1
        elif n + yushu == 4: # [2, 2]
            ret += 2
        print(ret)
    except:
        break
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务