Math 约瑟夫p‌中的递推关系;r‌;o‌;b&x200C;l‌;e&x200C;M

Math 约瑟夫p‌中的递推关系;r‌;o‌;b&x200C;l‌;e&x200C;M,math,recurrence,josephus,Math,Recurrence,Josephus,可以通过下面的递归来实现: josephus(n, k) = (josephus(n - 1, k) + k-1) % n + 1 josephus(1, k) = 1 这个循环关系是如何推导出来的?从维基百科上看,这一段就足够了 当索引从一开始,s处的人员将从 第一个人处于位置((s-1)\b外径n)+1,其中n是总数 人数。设f(n,k)表示幸存者的位置。 第k个人被杀后,我们剩下一个n-1的圆圈,然后 我们从原始数字中的数字开始下一次计数 问题为(k\bmod n)+1。幸存者在游戏

可以通过下面的递归来实现:

 josephus(n, k) = (josephus(n - 1, k) + k-1) % n + 1
 josephus(1, k) = 1

这个循环关系是如何推导出来的?

从维基百科上看,这一段就足够了

当索引从一开始,s处的人员将从 第一个人处于位置((s-1)\b外径n)+1,其中n是总数 人数。设f(n,k)表示幸存者的位置。 第k个人被杀后,我们剩下一个n-1的圆圈,然后 我们从原始数字中的数字开始下一次计数 问题为(k\bmod n)+1。幸存者在游戏中的位置 如果我们从1开始计数,剩下的圆就是f(n-1,k); 将此转换为考虑我们从(k\bmod)开始的事实 n) +1产生循环

f(n,k)=((f(n-1,k)+k-1)\bmod n)+1,text{with}f(1,k)=1\,

约瑟夫斯(n,k)=(约瑟夫斯(n-1,k)+k-1)%n+1。。。。。。(一)

简单来说—— 从公式中的“+1”开始。这意味着已经完成了1次递归迭代。现在,我们只剩下n-1个人/元素。我们需要以k的间隔递归地处理n-1个元素。但是,现在,由于最后一个要移除的元素位于第k个位置,我们将继续从第k个位置移除。因此,k-1被添加。此外,此添加可能会破坏数组的索引。因此%n已完成,以将数组索引保持在范围内。
希望它足够清晰和详细:)。

这在维基百科页面上解释得还不够好吗?如果维基百科不够清楚,请拿出一份副本,老实说,我无法理解这句话:
那么s处的人从第一人称移动到了位置
,有两个谓词。“转移”是什么意思?你能给我解释一下吗?我检查了中文和日文版本,但这句话不在那里。