约瑟夫问题
来源:互联网 发布:晟元数据 刘滨 编辑:程序博客网 时间:2024/06/05 21:11
约瑟夫递推公式
问题描述:n个人(编号1~n),从1开始报数,报到m的退出,剩下的人继续从1开始报数。求胜利者的编号。
分析:
当m<n时,第一次编号为m的出队,重新报数的顺序为:
m+1, m+2, m+3,…… n, 1, 2,……m-1,给他们重新编号为:
1, 2, 3…… n-m, n-m+1, n-m+2,……n-1。
反过来想,对于有x-1人的环推到有x个人的环,其编号对应关系为:y --> (y+m)mod x
当m>n时类似。。
令f[i]表示i个人玩游戏报m退出最后胜利者的编号,最后的结果自然是f[n]
递推公式
f[1]=1;
f[i]=(f[i-1]+m-1)mod i+1; (i>1)
鸣谢: http://hi.baidu.com/iiywj/blog/item/abef42caee4ee6f452664fb2.html
- 约瑟夫问题、约瑟夫环
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 不用循环计算一个数是否是2的次方
- Linux后台执行程序
- Grub error:unknown filesystem 问题分析及解决
- 比较三个数的大小
- ASP.net中实现放大镜(商场中查看商品)
- 约瑟夫问题
- 何去何从。。。
- [C#, WPF] 根据鼠标距离窗口中心的距离设置其背景色
- 还是先总结下吧: 什么都想学,结果什么都学不好
- Ext.Window的属性及方法
- 50款CSS工具
- POJ-1703 find the, catch them 并查集
- java数组中求最大值
- 手把手教你TestComplete_修改代理服务器