闯关游戏:选手闯过第n关需要消耗1* n个红钻石,2* n个黄钻石,3* n个绿钻石,每次过关依次得到红、黄、绿中的一种作为奖励,数目为闯关消耗的2倍。问闯过第n关需要准备各色钻石多少个。
'''
n1:红钻石
n2:黄钻石
n3:绿钻石
'''
n = int(input())
print("闯过数:", n)
n1 = 0
n2 = 0
n3 = 0
#对各种钻石创建不同列表,记录整个循环过程中的各个钻石状态,方便之后找到最大的值(闯过n关至少需要的钻石数量)
list_n1 = []
list_n2 = []
list_n3 = []
for i in range(1, n + 1):
n1 += i
n2 += i * 2
n3 += i * 3
list_n1.append(n1)
list_n2.append(n2)
list_n3.append(n3)
#闯的最后一关得到的奖励和需要的钻石数量无关
if i == n:
pass
elif i % 3 == 2:
n2 -= 4 * i
list_n2.append(n2)
elif i % 3 == 0:
n3 -= 6 * i
list_n3.append(n3)
else:
n1 -= 2 * i
list_n1.append(n1)
print('至少需要有红、黄、绿钻石:', max(list_n1), max(list_n2), max(list_n3))