一个数学问题--约瑟夫斯问题

约瑟夫斯问题怎么解?

这个问题解答起来比较简单:敌人从1号开始,隔一个杀一个,第一圈把所有的奇数号码的战士圈杀光了。剩下的32名战士需要重新编号,而敌人在第二圈杀死的是重新编号的奇数号码。
由于第一圈剩下的全部是偶数号2,4,6,…,64。把它们全部用2去除,得1,2,3,…,32。这是第二圈编的号码。第二圈杀过以后,又把奇数号码都杀掉了,还剩16个人。如此下去,可以想到最后剩下的必然是64号。
64=26,它可以连续被2整除6次,是从1到64中能被2整除次数最多的数,因此,最后必然把64 号留下。
如果有65名战士被俘,敌人还是按上述的方法残杀战士,最后还会剩下约瑟夫斯吗?
经过计算,很容易得到结论,不是。因为第一个人被杀后,也就是1号被杀后,第二个被杀的是必然3号。如果把1号排除在外,那么还剩下的仍是64人,新1号就是3号。这样原来的2号就变成了新的64 号,所以剩下的必然是2号。
进一步的归类,不难发现如果原来有2k个人,最后剩下的必然2k号;如果原来有2k+1个人,最后剩下2号;如果原来有2k+2个人,最后剩下4号……如果原来有2k+m个人,最后剩下2m号.
比如:原来有100人,由于100=64+36=26+36,所以最后剩下的就是36×2=72号;又如:原来有111人,由于100=64+47=26+47,所以最后剩下的就是47×2=94号。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-03
听过这样一个古老的传说:有64名战士被敌人俘虏了。敌人命令他们拍成一圆圈,编上号码1,2,3…,64。敌人把1号杀了,又把3号杀了,他们隔着一个杀一个这样转着圈杀。最后只剩下一个人,这个人就是约瑟夫斯。请问约瑟夫斯是多少号?(这就是“约瑟夫斯”问题。)
这个问题解答起来比较简单:敌人从1号开始,隔一个杀一个,第一圈把所有的奇数号码的战士圈杀光了。剩下的32名战士需要重新编号,而敌人在第二圈杀死的是重新编号的奇数号码。
由于第一圈剩下的全部是偶数号2,4,6,…,64。把它们全部用2去除,得1,2,3,…,32。这是第二圈编的号码。第二圈杀过以后,又把奇数号码都杀掉了,还剩16个人。如此下去,可以想到最后剩下的必然是64号。
64=26,它可以连续被2整除6次,是从1到64中能被2整除次数最多的数,因此,最后必然把64 号留下。
如果有65名战士被俘,敌人还是按上述的方法残杀战士,最后还会剩下约瑟夫斯吗?
经过计算,很容易得到结论,不是。因为第一个人被杀后,也就是1号被杀后,第二个被杀的是必然3号。如果把1号排除在外,那么还剩下的仍是64人,新1号就是3号。这样原来的2号就变成了新的64 号,所以剩下的必然是2号。
进一步的归类,不难发现如果原来有2k个人,最后剩下的必然2k号;如果原来有2k+1个人,最后剩下2号;如果原来有2k+2个人,最后剩下4号……如果原来有2k+m个人,最后剩下2m号.
比如:原来有100人,由于100=64+36=26+36,所以最后剩下的就是36×2=72号;又如:原来有111人,由于100=64+47=26+47,所以最后剩下的就是47×2=94号。
第2个回答  2013-08-03
如果会了 就不在这了 早去拿诺贝尔奖了 你先刻意解解“1+1=2”我就可以解啦 楼主~~~~

一个数学问题--约瑟夫斯问题
这个问题解答起来比较简单:敌人从1号开始,隔一个杀一个,第一圈把所有的奇数号码的战士圈杀光了。剩下的32名战士需要重新编号,而敌人在第二圈杀死的是重新编号的奇数号码。由于第一圈剩下的全部是偶数号2,4,6,…,64。把它们全部用2去除,得1,2,3,…,32。这是第二圈编的号码。第二...

经典数学故事之约瑟夫问题
有一个古老的传说,有64名战士被敌人俘虏了,敌人命令它们排成一个圈,编上号码1,2,3,……64。敌人把1号杀了,又把3号杀了,他们是隔一个杀一个这样转着圈杀。最后剩下一个人,这个人就是约瑟夫,请问约瑟夫是多少号?这就是数学上有名的“约瑟夫问题”。给大家一个提示,敌人从l号开始,...

约瑟夫环的问题求解
约瑟夫环问题是一个数学问题,源自于古罗马历史学家约瑟夫斯的故事。在公元前67年,约瑟夫斯和他的同伴们在被罗马人占领的约塔帕塔镇面临自杀的威胁。他们提议所有人都围成一个圈,并按照特定规则进行轮次消减,直到仅剩下一人。约瑟夫斯和他的朋友通过选择特定的位置保住了性命,最终成为了著名的罗马历史...

约瑟夫问题约瑟夫"密码问题"
在一种有趣的数学游戏——约瑟夫问题中,有N(N≤30)个人坐成一圈,每个人都有一个独一无二的正整数密码。游戏规则是从编号为1的人开始,按顺时针方向进行报数,当报到指定的数字M时,该人会被淘汰,并把他的密码值作为新的M值。接下来,报数从他的顺时针下一个编号继续,如此循环,直到所有人...

约瑟夫斯问题
约瑟夫问题,一个在计算机科学和数学中常被探讨的问题,其实质是模拟一个死刑游戏中的幸存者策略。当人们围成圈,按特定顺序跳过指定人数后,最后剩下的那个人会成为幸存者。要解决的问题是,给定一定人数、起始位置和跳跃数,如何选择初始位置以确保自己不被处决。这个谜题源于1世纪的历史记载,约瑟夫斯和...

数学上的约瑟夫问题怎么解
于是就求出了当M=2时约瑟夫问题的解:求出不大于N的最大的2的整数次幂,记为2^k,最后一个去死的人是2(N-2^k)+1 M=3 即N个人围成一圈,1,2,3,1,2,3的报数,报到3就去死,直到只剩下一个人为止。此时要比M=2时要复杂的多 我们以N=2009为例计算 N=2009,M=3时最后被杀死...

C语言-有趣的约瑟夫问题及解决办法
约瑟夫问题的数学解决方案多种多样,这里提供一种使用循环链表的方法。此方法基于原始问题中的圆圈排列,通过循环链表实现数人与淘汰的过程。编写一个程序,根据特定规则运行,即可模拟出约瑟夫问题的解。程序源代码如下,通过调整Start、Count、length这三个参数,可以改变游戏规则,尝试不同的初始位置和人数。...

约瑟夫问题来历
历史上,有一个关于犹太历史学家约瑟夫的传说。在罗马人占领乔塔帕特后,他和39位同伴躲进了一个洞穴。他们决定通过自杀来避免落入敌人手中,制定了一个奇特的规则:39人围成一个圆圈,从第1个人开始报数,每报到第3人就执行自杀,然后由下一个人继续。Josephus和他的一位朋友决定利用这个规则,将自己...

小约瑟夫是什么意思?
小约瑟夫是一个著名的数学问题,也被称为约瑟夫问题。其实它是一个相当古老的问题,最早的记载可以追溯到1世纪,现在这个问题已经普及到了全世界,被广泛运用于算法和计算机科学领域。小约瑟夫问题在求解计算机程序性能、算法问题、优化设计等方面具有极高的实际价值。由于问题本身具有很高的复杂性,它的解法...

有n个人围成一圈从1-3报数
一、有n个人围成一圈从1-3报数 n个人按顺序围成一圈(编号为1~n),从第1个人从1开始报数,报到k的人出列,相邻的下个人重新从1开始报数,报到k的人出列,重复这个过程,直到队伍中只有1个人为止,这就是约瑟夫问题。现在给定n和k,你需要返回最后剩下的那个人的编号。二、约瑟夫问题 约瑟夫问题,...

相似回答