學習記錄與分享
PTA程式設計類教學平臺—Python作業二(回圈結構程式設計)
題目
7-5 模擬報數游戲(約瑟夫環問題)
有n個人圍成一圈,從1開始按順序編號,從第一個人開始從1到k報數,報到k的人退出圈子;然后圈子縮小,從下一個人繼續游戲,問最后留下的是第幾號(只留1 人),要求定義函式實作,
輸入格式:
初始n和k自由指定,
輸出格式:
最后留下人的原序號,以串列形式展示,
輸入樣例:
45
4
輸出樣例:
[27]
答案:
n = int(input())
k = int(input())
c = []
def hhh(n, k):#定義一個哈哈哈函式
for i in range(1, n + 1):
c.append(i)
num = 1
while len(c) != 1:
c.append(c.pop(0)) # 把已報數的人取出放到隊尾,以此實作圍成圈回圈往復
num += 1
if num == k:
del c[0] # 把報到規定數字的人踢出圈子
num = 1 # 重新從1開始報數
return c
print(hhh(n, k))
END~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181889.html
標籤:其他
上一篇:Unity_常用的一些方法記錄
下一篇:B. Putting Bricks in the Wall(思維)Codeforces Round #676 (Div. 2)
