"""
有17个人围成一个圈（编号0-16），从0号的人开始从1报数，凡报到3的倍数的人离开圈子，然后再数下去。直到剩下一个人为止，问此人原来位置是多少号
"""
n = int(input('请输入人数：'))
li_c = list(range(1, n + 1))    # 将所有人放入一个数组
count = 0                # 设置一个变量，用于计算报数
while len(li_c) > 1:     # 当数组中至少有2个元素时进行循环
    li_co = li_c[:]          # 把原数组拷贝到新数组中，用于限制内层循环次数
    for index in range(0, len(li_co)):    # 内层循环开始，从第一个人开始报数
        count = count + 1         # 每报一次，count计数器加1

        if count % 3 == 0:       # 如果count能被3整除，则是报到3的人
            li_c.remove(li_co[index])  # 把报到3的人移除原数组，进行下一次循环

print('最后留下的是原来的第 {} 号。'.format(li_c[0]))




















