代码 include using namespace std; const int maxn=1000; int main(){ string name[maxn];//创建字符串数组保持参与人的名字 int p[maxn]; int n,i; cin n; for(i=0;i name[i]; i ...
分类:
编程语言 时间:
2018-10-07 15:36:28
阅读次数:
170
题目 41个人排成一个圆圈,由第1个人 开始报数,每报数到第3人,该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。约瑟夫与朋友在第16与第31个位置,于是活了下来。请用单向环形链表描述该结构并呈现整个自杀过程。 设计 首先要设计一个节点模型 遍历并用 last 节点做成一个单向线性 ...
分类:
其他好文 时间:
2018-09-23 22:39:10
阅读次数:
330
约瑟夫环的链表解法、数组解法和数学公式解法 约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里 ...
分类:
编程语言 时间:
2018-09-08 00:44:25
阅读次数:
191
最近在看关于约瑟夫环的一些解决思路,发现了一种很有创意的解法,记录下,用来复习。 这种方式不会破坏原始数组,非常巧妙的用boolean去标记对应数字,虽然消耗了额外的空间,但是是非常有创意的实现方式,可读性很高。 ...
分类:
其他好文 时间:
2018-09-04 13:45:11
阅读次数:
122
记录一次面试题中编程的两道小题,针对约瑟夫环的写法要注意关键的取余
分类:
其他好文 时间:
2018-08-31 01:24:02
阅读次数:
213
#include #include using namespace std; bool a[1001]; int main() { memset(a,0,sizeof(a)); int m,n,out=0,p=0,num=0; scanf("%d%d",&m,&n); while(out!=m) /... ...
分类:
其他好文 时间:
2018-08-11 23:18:37
阅读次数:
197
(一)前提 (二)实现结构 (三)代码实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> #define OK 1 #define ERROR 0 #define TR ...
分类:
其他好文 时间:
2018-08-05 17:27:58
阅读次数:
176
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止
分类:
其他好文 时间:
2018-08-05 11:55:56
阅读次数:
144