题解 | #汽水瓶#

汽水瓶

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

核心就是确定:每轮兑到的汽水喝完之后的空瓶子的总数,包括兑到的汽水数和剩余的空瓶子数。例如:最开始10个空瓶子,第一轮可以兑3瓶,喝完之后有3+1=4个空瓶子;第二轮可以兑1瓶,喝完之后剩下1+1=2个瓶子。 确定好这个,就可以确定每轮能兑几瓶。

while True:
  try:
    a=int(input())
    if(a!=0):
      b=int(a/3)
      c=a-b*3+b
      f=c
      h=b
     # 算出空瓶子小于3时喝的瓶数累计:
     while (int(f / 3) >= 1):
        h = h + int(f / 3)
        f = f - int(f / 3) * 3 + int(f / 3)


     #判断最后剩余空瓶子时的策略
     if(f==2):
        h=h+1
     elif(f==1):
        h=h

     print(h)

 except:
    break

     
全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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