数学规律 | HJ22 汽水瓶

# 最优解
while True:
    n=int(input())
    if n==0:break
    print(n//2)

# 我的代码
while True:
    try:
        b = int(input())
        assert b != 0
        cnt = 0
        while b > 1:  # 1个瓶子时,即使向老板借也不够还
            cnt += b // 3
            b = b%3 + b//3
            if b % 3 != 0:  # 向老板借空瓶子
                while b > 1:
                    for x in range(1, b):
                        if (b + x)//3 + (b + x)%3 >= x:
                            cnt += (b + x)//3
                            b = (b + x)//3 + (b + x)%3 - x
                            break
        print(cnt)
    except:
        break

用时:30min

华为笔试刷题 文章被收录于专栏

高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107

全部评论

相关推荐

07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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