69 # 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

# 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
num = int(input("请输入整数n:"))
arr = []
for i in range(1, num + 1):
    arr.append(i)

index = 0
number = 1
arr_len = len(arr)
while(True):
    print(arr)
    print("number:%d" % number)
    print("index:%d" % index)
    if arr_len == 1:
        print("最后留下的是原来第%d号的那位" % arr[0])
        break
    # 开始报数
    if number % 3 == 0:
        arr.pop(index)
        number = 1
    else:
        number += 1
        index += 1

    arr_len = len(arr)

    if index >= arr_len:
        index = 0
posted @ 2024-09-27 13:49  人要靠自己you  阅读(7)  评论(0)    收藏  举报