Python 約瑟夫圈問題
阿新 • • 發佈:2017-09-12
lis eat clas 執行 一個人 utf-8 邏輯 輸入 num
- 需求:有n個人圍成一圈,順序排號, 從第1個人開始報數(從1到3),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位
- 代碼邏輯
- n個人,通過輸入參數n,生成一個長度為n的列表
- 通過報數邏輯函數,只要數到3的就把那個位置相對應的列表值設置為0,同時留下的人數也要減1,直到剩下的人數為1,才退出循環
- 通過報數邏輯函數,最後得到新的列表(只有一個值是1,其余都是0),進行循環即可
- 代碼如下:
1 #coding:utf-8 2 #__author__ = ‘Diva‘ 3 # 用戶輸入n,n代表人數,圍成一圈,順序排號 4 # 從第一個開始報數,1,2,3,數到3的人,退出圈子 5
- 測試結果
-
Python 約瑟夫圈問題