数据结构 - 拼图

时间:2011-05-25 06:46:11

标签: algorithm formula puzzle josephus

桌子周围有5名成员。关键值是坐在桌子周围的成员数量。因此,现在关键的价值将是5.恐怖分子告诉会员,由于你是5名成员,我将从第一名成员算起,被计算在内的人将被枪杀。 他很重要,第五个人死了。再次,他数到五,第一人死亡。他再次计算,第三人死亡,现在剩下2人和4人。他们计算他们之间的数字,最终4人将被计为5人,他被枪杀。剩下的最后一个人将是2人。

如果尝试七个人,那么答案将是8。 对于8人,答案将是4。

如何为此设置公式,以便计算机可以正确地拍摄人物。

我想通过给成员提供一个标记值,它可能在循环链表中。但是我无法得出一个等式。因此,通过给予关键价值,将确定将生活的人。

3 个答案:

答案 0 :(得分:4)

这被称为Josephus problem

答案 1 :(得分:3)

这是一个众所周知的问题,称为约瑟夫斯问题。检查wikipediamathworld以获取可能的解决方案。你可以使用Google上的大量文章。

答案 2 :(得分:1)

这是一个名为约瑟夫斯问题的经典问题。 它有递归解决方案:

J(1)= 1;这是基础

当n为偶数时J(2n)= 2J(n)-1

当n为奇数时J(2n + 1)= 2J(n)+ 1