约瑟夫环问题[Josephus]

约瑟夫环问题[Josephus]

ID:39623763

大小:2.03 MB

页数:13页

时间:2019-07-07

约瑟夫环问题[Josephus]_第1页
约瑟夫环问题[Josephus]_第2页
约瑟夫环问题[Josephus]_第3页
约瑟夫环问题[Josephus]_第4页
约瑟夫环问题[Josephus]_第5页
资源描述:

《约瑟夫环问题[Josephus]》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、问题描述已知n(<2^15)个人(以编号1,2,…,n分别表示)围坐在一圆桌上,从编号为k(1≤k≤n)的人开始报数,数到m的那个人出列,他的下一个人又从1开始报数,数到m的那个人又出列,依此重复,直到圆桌周围的人全部出列,依次输出最后三个出列的序号。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.输入格式:第一行为一个整数T(<2^15)表示测试

2、次数,接着第二到T+1行分别为n,m和k的值。例:21023输出格式:T行最后min(n,3)个出列的编号。结果:615Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.问题背景这个问题是以弗拉维奥•约瑟夫斯命名的,它是1世纪的一名犹太历史学家。他在自己的日记中写道,他和他的40个战友被罗马军队包围在洞中。他们讨论是自杀还是被俘,最终决定自杀,并以抽

3、签的方式决定谁杀掉谁。约瑟夫斯和另外一个人是最后两个留下的人。约瑟夫斯说服了那个人,他们将向罗马军队投降,不再自杀。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.n=12;k=4;m=3出列Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright

4、2004-2011AsposePtyLtd.n=12;k=4;m=3出列Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.解题方法思路:将n个人分别用

5、1,2…,n表示,并存放于一个数组中,将出列的人的号码从数组中删除,并输出最后三个出列的号码。关键:(1)从第k个人开始报数,而非第一个人开始。(2)当报到第n个人时,编号为1的人继续往下报数。(3)显示出最后三个出列的人的编号。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.Josephusjp=newJosephus();inta[]=newi

6、nt[n];for(inti=0;i

7、tyLtd.publicvoidSortArray(int[]a,intn,intm,intk,intg){int[]b=newint[n];intc=0;inti=k-2;while(true){for(intj=0;j

8、i];a[i]=0;c++;if(c==n)break;}System.out.print(“最后出列的3人:");this.show(b,g);}}Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.数据测试1.数据选择:要求:n<2^15;1<=k<=n;2.数据和结果显示:总人数n5起始号码k2循环数m2最后出列的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。