
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列来自。通常解决这类问题时我们把编号从0~n-1,最后 结360百科果+1即为原问题的解。
- 中文名称 约瑟夫问题
- 外文名称 Josephus problem
- 其他命名 约瑟夫环、丢手绢问题
- 学科 数学.C语言
算法来自原理
约瑟夫环运作如下:
1、一群人围在一起坐成 环状(如:N)
2、从某个编号开始报数(等上如:K)
3、数到某个数(如:M)的时候,此人出列,下一个人重新报数
4、一直循环,直到所有人出列 ,约瑟夫环结束
算法例子
C#
C语言
递归法:
非递归法:
C++非递归实现(模拟实现)
C++数列推导实现(数紧选学推导式)
Ja超达满造印须va实现
Common Lisp递归实现
pascal
python实现
JavaScript
php