约瑟夫问题的N种解法
1 问题的历史以及不同的版本
1.1
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个...
分类:
其他好文 时间:
2014-09-19 15:40:55
阅读次数:
357
问题来历据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数...
分类:
其他好文 时间:
2014-09-16 23:35:31
阅读次数:
208
问题描述:
约瑟夫生死问题的描述有三:
【其一】据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋...
分类:
其他好文 时间:
2014-09-14 18:05:17
阅读次数:
256
问题描述:
这是一个很经典的问题,一桌人一起吃饭,比如有6个人,第一个人从1开始报数,后面的人报的数依次递增,当报出的数为某一个数时,报数的那个人出局,游戏继续。出局的那个人后面的还没有出局的人继续从1开始报数,直到所有的人出局为止。得出出局顺序。
比如有6个人,分别为1,2,3,4,5,6 。报数到3的人出局,则出局顺序应该是:3,6, 4, 2, 5, 1
解决方案:
可以采取对数组置...
分类:
其他好文 时间:
2014-09-14 00:12:56
阅读次数:
269
写这篇文章是因为看到别人博客里用了很长一个篇幅(超过50行)去解决一个约瑟夫环问题,而且还是用以简洁著称的python,另外,如果你用X度搜索python 约瑟夫,看到得前几条都是错的,真是好悲剧。
总的来说,就是误人子弟。
虽然,用模拟去解决这个约瑟夫环问题效率是很低的,但是,这更容易理解。
先上代码。
def josephus(n,k):
link=range(1,n+1)
...
分类:
编程语言 时间:
2014-09-11 19:30:12
阅读次数:
258
故事:约瑟夫问题(Josephus Problem)据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第...
分类:
编程语言 时间:
2014-08-23 15:07:50
阅读次数:
210
1179 - Josephus Problem
PDF (English) Statistics Forum
Time Limit: 2 second(s) Memory Limit: 32 MB
The historian Flavius Josephus relates how, in the Romano-Jewish conflict of 67 A.D., the Romans t...
分类:
其他好文 时间:
2014-08-21 15:07:14
阅读次数:
181
这个问题看了看,没看懂,搁置。
约瑟夫环问题(Josephus)
用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。(约瑟夫环问题 Josephus)
解法一(My Solution):
思想:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数i==m(i初始为1)踢出元素,继续循环,当当前元素与下一元素相同时退出循环。
代...
分类:
其他好文 时间:
2014-08-19 14:33:14
阅读次数:
199
【Description】
This problem is based upon a report by the historian Joseph ben Matthias (Josephus) on the outcome of a suicide pact that he had made between himself and 40 soldiers as they were besi...
分类:
其他好文 时间:
2014-08-11 00:27:51
阅读次数:
235
[code=C++]
/*
author:jiangxin
Blog:http://blog.csdn.net/jiangxinnju
Function:method of Josephus question
*/
#include
using namespace std;
struct node
{
int seq;
node *...
分类:
编程语言 时间:
2014-08-10 12:59:40
阅读次数:
270