Python7行代碼解決約瑟夫環問題(切片實現)

問題描述:
n個人圍成一個圈,由第1個人開始報數,每報數到第k個人該人退出圈,然後再由下一個從1開始報數,求最後剩下一個人是多少號?
如下,使用python的切片實現

def f(s, k):
    while len(s) != 1:
        if(len(s) < k):
            k = k % len(s)
        s = s[k:] + s[:k - 1]
    print(s)
f(list(range(1,100)), 3)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章