10个小孩围成一圈分糖果,老师顺次分给每个人的糖果数为12,2,8,22,16,4,10,6,14,20。然后按以下规则调整,所有小孩同时把自己的糖果分一半给右边的小孩,糖果数如果变为奇数的人,再向老师补要一块,那多少次调整后,大家的糖果数量一样多,且每人多少块。
candy = [12, 2, 8, 22, 16, 4, 10, 6, 14, 20]
times = 0
while candy.count(candy[0]) != len(candy):
for i in range(len(candy)):
# candy[i] = int(candy[i]/2)
candy[i] = candy[i]//2
candy_share = candy.copy()
for i in range(len(candy)):
if i!=0:
candy[i] += candy_share[i - 1]
else:
candy[i] += candy_share[9]
times += 1
print(f"第{times}次分配后,所有小孩手里都有{candy[0]}块糖")
第11次分配后,所有小孩手里都有6块糖