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

作者&投稿:军疤 (若有异议请与网页底部的电邮联系)
数学上的约瑟夫问题怎么解~

在M比较小的时候 ,可以用笔算的方法求解,
M=2
即N个人围成一圈,1,2,1,2的报数,报到2就去死,直到只剩下一个人为止。
当N=2^k的时候,第一个报数的人就是最后一个死的,
对于任意的自然数N 都可以表示为N=2^k+t,其中t<n/2
于是当有t个人去死的时候,就只剩下2^k个人 ,这2^k个人中第一个报数的就是最后去死的。这2^k个人中第一个报数的人就是2t+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时最后被杀死的人记为F(2009,3),或者可以简单的记为F(2009)
假设现在还剩下n个人,则下一轮将杀死[n/3]个人,[]表示取整,还剩下n-[n/3]个人
设这n个人为a1,a2,...,a(n-1),an
从a1开始报数,一圈之后,剩下的人为a1,a2,a4,a5,...a(n-n mod 3-1),a(n-n mod 3+1),..,an
于是可得:
1、这一轮中最后一个死的是a(n-n mod 3),下一轮第一个报数的是a(n-n mod 3+1)
2、若3|n,则最后死的人为新一轮的第F(n-[n/3])个人
若n mod 3≠0 且f(n-[n/3])<=n mod 3则最后死的人为新一轮的第n-[n/3]+F(n-[n/3])-(n mod 3)人
若n mod 3≠0 且f(n-[n/3])>n mod 3则最后死的人为新一轮的第F(n-[n/3])-(n mod 3)人
3、新一轮第k个人对应原来的第 3*[(k-1)/2]+(k-1)mod 2+1个人
综合1,2,3可得:
F(1)=1,F(2)=2,F(3)=2,F(4)=1,F(5)=4,F(6)=1,
当f(n-[n/3])<=n mod 3时 k=n-[n/3]+F(n-[n/3])-(n mod 3),F(n)=3*[(k-1)/2]+(k-1)mod 2+1
当f(n-[n/3])>n mod 3时 k=F(n-[n/3])-(n mod 3) ,F(n)=3*[(k-1)/2]+(k-1)mod 2+1
这种算法需要计算 [log(3/2)2009]次 这个数不大于22,可以用笔算了
于是:
第一圈,将杀死669个人,这一圈最后一个被杀死的人是2007,还剩下1340个人,
第二圈,杀死446人,还剩下894人
第三圈,杀死298人,还剩下596人
第四圈,杀死198人,还剩下398人
第五圈,杀死132人,还剩下266人
第六圈,杀死88人,还剩下178人
第七圈,杀死59人,还剩下119人
第八圈,杀死39人,还剩下80人
第九圈,杀死26人,还剩下54人
第十圈,杀死18人,还剩36人
十一圈,杀死12人,还剩24人
十二圈,杀死8人,还剩16人
十三圈,杀死5人,还剩11人
十四圈,杀死3人,还剩8人
十五圈,杀死2人,还剩6人
F(1)=1,F(2)=2,F(3)=2,F(4)=1,F(5)=4,F(6)=1,
然后逆推回去
F(8)=7 F(11)=7 F(16)=8 f(24)=11 f(36)=16 f(54)=23 f(80)=31 f(119)=43 f(178)=62 f(266)=89 f(398)=130
F(596)=191 F(894)=286 F(1340)=425 F(2009)=634
-----来自百度

一个小组不少于9人的概率约为0.61。
详细解题步骤如下:
1、单组10人都不退出的概率为P0=0.8^10。
2、退出1人的概率为P1=10*0.2*0.8^9
3、不少于9人的概率为P2=P0+P1=2.8*10^9。
4、单组不少于9人的概率为P=1-(1-P)^2,约等于0.61。
扩展阅读:
概率论是研究随机现象数量规律的数学分支。随机现象是相对于决定性现象而言的。在一定条件下必然发生某一结果的现象称为决定性现象。随机现象则是指在基本条件不变的情况下,每一次试验或观察前,不能肯定会出现哪种结果,呈现出偶然性。随机试验的每一可能结果称为一个基本事件,一个或一组基本事件统称随机事件,或简称事件。
事件的概率是衡量该事件发生的可能性的量度。虽然在一次随机试验中某个事件的发生是带有偶然性的,但那些可在相同条件下大量重复的随机试验却往往呈现出明显的数量规律。
参考资料: 百度百科 - 概率论

这个问题解答起来比较简单:敌人从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号。

听过这样一个古老的传说:有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号。

如果会了 就不在这了 早去拿诺贝尔奖了 你先刻意解解“1+1=2”我就可以解啦 楼主~~~~

约瑟夫环用的什么线性表什么物理结构
答:顺序存储形式线性表和链式存储形式线性表,非顺序物理存储结构。约瑟夫环问题,称为约瑟夫斯置换,是计算机科学和数学问题,在计算机编程算法中,此问题称为约瑟夫环也称丢手绢问题。

一道数学题目,求解答
答:首先,1、3、5、7、9、11、13、15、17、19号兔子会离开;接着,2、6、10、14、18号会离开;接着,4、12、20号会离开;最后,8号会离开,16号会被做成晚餐。回到10000只兔子的情况。我们没有这个时间和精力去一只一只地在那边数,我们需要有一个办法,让我们知道谁会被做成晚餐。我先给你一...

有几个简单的编程问题想请各位高人解答一下!
答:第一题:/* 程序名称: arrayList.c */ /* 程序目的: 用数组实现约瑟夫问题 */ include<stdio.h> define size 100 /* 输入人数的上限 */ void main(){ int person[size];int i, j; /* 循环修正变量 */ int arrayLen; /* 数组长度 */ int start, overNum; /* ...

ACM约瑟夫环数学问题
答:巧合吧 ? 比如说 n = 27 , 化为二进制就是 11011 , 循环之后就是 11011 。可是答案不是 ( 11011 )2 哦 。

拉乘是什么意思
答:拉乘是深受喜爱的暴力解不等式题的方法。在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n个变量与k个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。

数论概论第四版约瑟夫课后答案 数论概论第4版答案
答:而会编写计算机程序的读者将会从产生大量的数 数论概论课后答案[美]约瑟夫H.西尔弗曼 据和实现各种算法中获得乐趣,但实际上读者仅需一个 数论概论课后答案[美]约瑟夫H.西尔弗曼 简单的计算器.微积分的一些概念有时被提到,但基本上不怎么用它.尽管如此,我们仍要提醒读者,要想真正欣赏数论,必须有...

一个C++约瑟夫环的问题
答:struct person p[7] = {{1,3,p+1}, {2,1,p+2}, {3,7,p+3}, {4,2,p+4}, {5,4,p+5}, {6,8,p+6}, {7,4,p}}; //初始化约瑟夫环 int M = 20;int cnt; //报数 struct person *cur = p, *pre = p + 6;while(pre!=cur) //判断最后剩一个 { cnt = 1;...

约瑟夫斯,被视为叛徒的犹太历史学家
答:作为精英阶层的一员,约瑟夫斯责无旁贷的被任命为迎击罗马军的前线指挥官,驻守耶路撒冷北部的加利利地区。面对强大的罗马军团,约瑟夫斯巧妙的运用计谋在尤塔帕塔城守了47天,不过因为实力差距过大,最终被罗马军指挥官韦斯帕芗的长子提图斯率军攻陷城池。 城破时,约瑟夫斯和城内的40名长老躲进了一个洞穴...

除以一个什么的数等于乘这个数的倒数
答:在古代数学中,人们通常关注分数和比例,而分子和分母的概念正是从这些中发展出来的。刘徽指出,如果两个数的乘积为1,那么这两个数就互为倒数,即它们互相乘积为1。这在当时被视为两个数之间的一种“互逆”关系。到了17世纪,数学家们开始用“倒数”这个词来描述这种关系。英国数学家约瑟夫·鲁特在...

难道上帝会首先创造一个没有无序熵的宇宙不是更有可能吗?
答:难道上帝会首先创造一个没有无序熵的宇宙不是更有可能吗?约瑟夫,我尊重你的问题,这是事实,一个超然的智慧创造了一个完美的宇宙系统。这将是一个同时包含有序和无序的系统,正如上个世纪哥本哈根量子物理学解释所证实的那样。当然,由于这一过程以光速的平方速度发生,人类无法察觉,也很难测量。创建...