题目1:计算约瑟夫环问题

初始化15个基督徒和15个非基督徒的位置列表

circle = [1] * 15 + [0] * 15

初始化报数的起始位置为0

start = 0

初始化报数为1

count = 1

循环直到扔掉15个人

while circle.count(1) > 15: # 循环遍历圈中的每个人 for i in range(len(circle)): # 如果该位置上的人还没有被扔掉 if circle[i] != -1: # 如果报数为9 if count == 9: # 将该位置上的人扔掉 circle[i] = -1 # 重置报数为1 count = 1 else: # 报数加1 count += 1 # 如果已经扔掉了15个人,则退出循环 if circle.count(1) <= 15: break # 更新起始位置为下一个未被扔掉的人的位置 start = circle.index(1, start) + 1

将最后的结果转换为字符串

L1 = ''.join(str(i) for i in circle) L


原文地址: https://www.cveoy.top/t/topic/iBce 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录