为了账号安全,请及时绑定邮箱和手机立即绑定

约瑟夫环的问题

约瑟夫环的问题

PHP
ibeautiful 2019-03-18 11:44:11
function yuesefu($n,$m) { $r=0; for($i=2; $i<=$n; $i++) { $r=($r+$m)%$i; } return $r+1; } echo yuesefu(10,3)."是猴王"; 这个哪位大神可以给我解释一下。。。是什么样的逻辑?
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

问题描述

设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。

最后剩下的结点就是胜利者

问题思路

题中的方法是利用归纳过的公式

https://img1.sycdn.imooc.com//5c8f5c430001e57406130118.jpg

推到过程:

https://img1.sycdn.imooc.com//5c8f5c45000108f108000295.jpg

参考:约瑟夫问题

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 458 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信