有n 個人圍成一圈,順序排號。從第一個人開始報數(從 1 到 3 報數),凡報到 3 的人退出圈子,問最後留下的是原來第幾號的那位

nmax = 50
n = int(input('請輸入總人數:'))
num = []
for i in range(n):
    num.append(i + 1)

i = 0     #表示當I等於N的時候,已經將所有的數字循環了一遍,包含變成0的
k = 0     #當爲三的時候變成0
m = 0     #統計有多少個變成了0,當滿足n-1的時候就不執行while語句

while m < n - 1:
    if num[i] != 0:
        k += 1
    if k == 3:
        num[i] = 0
        k = 0
        m += 1
    i += 1
    if i == n:
        i = 0

i = 0
while num[i] == 0:
    i += 1
print(num[i])
發佈了94 篇原創文章 · 獲贊 1 · 訪問量 2112
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章