题目:
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=newi=0if new==2: #如果剩下的空瓶子数为2则可以借一瓶然后3换1all_+=1if 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 buywhile True:a=int(input('>>>'))print(f(a))
如果觉得《运动员喝饮料问题》对你有帮助,请点赞、收藏,并留下你的观点哦!