码迷,mamicode.com
首页 > 其他好文 > 详细

运动员喝饮料问题

时间:2019-09-11 20:10:55      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:代码   class   代码行数   优化算法   div   算法   code   pre   bsp   

题目:

27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,
凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?
要求: 尝试优化算法,代码行数越少越好

 

def f(a):
    for i in range(a+1):
        all_=0 #能得到的总数
        new=0  #空瓶子的数量
        b=i #传值参数
        n=i #传值参数
        while int(n/3)!=0:
            new=int(n%3+n/3)
            all_=int(all_+i+new-n%3)
            n=new
            i=0
        if new==2:
            all_+=1
        if all_>=a or (a<4 and a==b):
            return b
    # buy=0
    # all=0
    # while all<27:
    #     buy+=1
    #     all+=1
    #     if all%3==0:
    #         all+=1
    # if all%3==1:
    #     buy-=1
    # return buy
while True:
    a=int(input(>>>))
    print(f(a))

 

运动员喝饮料问题

标签:代码   class   代码行数   优化算法   div   算法   code   pre   bsp   

原文地址:https://www.cnblogs.com/alecc1124/p/11508246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!