【剑指offer】圆圈中最后剩下的数字(约瑟夫环)

孩子们的游戏(圆圈中最后剩下的数)

https://www.nowcoder.com/practice/f78a359491e64a50bce2d89cff857eb6?tpId=13&tqId=11199&rp=2&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking

转载自https://mp.weixin.qq.com/s?src=11&timestamp=1584520876&ver=2223&signature=R3dn7QJt8961sDqWbS1sRGsJHfc8dWTHk3RUBfW7FsFjvwmm5zBSB*qLAvDpgVlfDfMEXnllrESu4wySCpiVKoQd2uOMJkL4rTO96uN*eCh**k5sCwzTw73*l8T482iL&new=1

问题:N个人编号为1,2,……,N,依次报数,每报到M时,杀掉那个人,求最后胜利者的编号。

这边我们先把结论抛出了。之后带领大家一步一步的理解这个公式是什么来的。

递推公式: f(N,M)=(f(N−1,M)+M)%N

f(N,M) 表示,N个人报数,每报到M时杀掉那个人,最终胜利者的编号

f(N−1,M)表示,N-1个人报数,每报到M时杀掉那个人,最终胜利者的编号

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务