约瑟夫问题 现有的对约瑟夫问题的数学解法中 递推出的x✀=(x+k) mod n 是怎么得到的~

2025-04-06 17:50:38
推荐回答(1个)
回答1:

将这些人从0到n编号,假设除去第k个人。
0, 1, 2, 3, ..., k-2, k-1, k, ..., n-1  //original sequence (1)
0, 1, 2, 3, ..., k-2, , k, ..., n-1  //get rid of kth person (2)
k, k+1, ..., n-1, 0, 1, ..., k-2  //rearrange the sequence (3)
0, 1, ..., n-k-1, n-k, n-k+1, ..., n-2  //the n-1 person (4)
我们假设f(n)的值为n个人中最后存活的人的序号,则
注意到(2)式(3)式(4)式其实是同一个序列。
注意(1)式和(4)式,是同一个问题,不同的仅仅是人数。
对比(3)(4)两式,可以看出(3)中的编号x'与(4)中的编号x对应关系即为x'=(x+k) mod n