n個人圍成一圈,第一個人從1開始數數,數到3的倍數的人離開,最後剩的人是第幾個

孤城炎發表於2020-11-07

n個人圍成一圈,第一個人從1開始數數,數到3的倍數的人離開,最後剩下的人是第幾個

# coding=utf-8                            

n = int(input('輸入人數:'))
ren = [i + 1 for i in range(n)]
# 數值                                      
count = 1
i = 0
while True:
    if count % 3 == 0:
        ren[i] = 0
    if ren.count(0) == len(ren) - 1:
        break
        # 只有數值不為0的值才能+1
    while True:
        i += 1
        if i == len(ren):
            i = 0
        if ren[i] != 0:
            break
    count += 1
print([i for i in ren if i != 0])

相關文章