题解 | 约瑟夫环

约瑟夫环

https://www.nowcoder.com/practice/e417cfe32c74416ca38247f619ddb322

def josephus(n, m, k):
    # 初始化幸存者的位置为0(当n=1时的位置)
    pos = 0

    # 逐步减少人数,每次计算新的幸存者位置
    for i in range(2, n + 1):
        pos = (pos + m) % i

    # 调整起始位置k
    result = (pos + k) % n

    return result


n, k, m = map(int, input().split())
print(josephus(n, m, k))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务