搜狗2020测试笔试题
汪仔最近在玩款游戏,正值暑假游戏出了夏日活动,可以通过打副本来获得汪仔很喜欢的奖品。游戏的副本里会掉落三种不同的道具(分别是A道具,B道具,C道具),在活动结束后可以使用三种不同的道具各一个来换取件奖品。 虽然这三种道具在游戏中掉谐的概率相同的,但是可能会出现有 一些玩家因为运气不佳某一英道 具掉落的极少导致最后能获得的奖品数量也很少。良心的游戏策划为了减少这种悲剧发生,规定可以用任意两个道具(这两个道具可以是同种也可以个不是同一 种)来交换一个任意指定的道具(比如可以用两个A道具换个C道具 ,或者用一个B道具和一 个C道具换一个A道具)。现在注仔有A道具a个,B道具b个,C道具c个。汪仔想知道他最多能交换多少奖品,你能告诉汪仔吗?
#A,B,C三种道具各a,b,c个
a=4
b=4
c=2
#把abc放入列表,进行排序
x=[a,b,c]
x.sort()
x3=x[2]-x[0]
x2=x[1]-x[0]
i=0
#当多的两种道具各有两个以上时,可以用两个兑换一个奖品
while (x3>=2 and x2>=2):
x3=x3-2
x2=x2-2
i=i+1
#如果A只有一个,则需要B三个
if (x2==1 and x3>=3):
x3=x3-3
x2=x2-1
i=i+1
if (x3==1 and x2>=3):
x2=x2-3
x3=x3-1
i=i+1
#如果只有A道具,则5个A道具兑换一个奖品
while (x2==0 and x3>=5):
x3=x3-5
i=i+1
print(i+x[0])