题解 | #汽水瓶#

汽水瓶

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

import sys
import math

# 方法一:通过规律总结得出公式
# for line in sys.stdin:
#     a = line.split()
#     n = int(a[0])
#     if n:
#         print(n//2)
#     else:
#         pass

# 方法二:
def fn(n, m=3):  # 可自定义大于 2 个空水瓶对换
    global k
    k += 1  # 统计递归调用次数
    if n < m - 1:
        li.append(0)
    if n == m - 1:  # 满足可以借的条件
        li.append(1)  # 能借就能多一瓶,不能借就不添加
    if n >= m:
        # new_n = n // m + n % m
        new_n = sum(divmod(n, m))
        li.append(n // m)
        fn(new_n, m)
    return sum(li)


for line in sys.stdin:
    a = line.split()
    n = int(a[0])
    li = []
    k = 0
    m = 3
    if n:
        result = fn(n, m)
        print(result)
        # print(n, k, result, int(n / (m - 1)), math.floor(n / (m - 1)), n // (m - 1))

全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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