假设有一圈石子,从1到n比较。然后依次每隔一个石子选出一个,直到剩余一个;问最后选出的石子的编号是多少; (至少)有三种方法可以解决这个问题;如下面的代码所示: object?App?extends?App?{
??def?...
分类:
其他好文 时间:
2015-07-12 09:53:14
阅读次数:
137
/* assume a header *//* 双向循环链表 */struct Node;typedef struct Node * PtrToNode;typedef PtrToNode List;typedef PtrToNode position;struct Node{ PtrToNo...
分类:
其他好文 时间:
2015-07-09 21:26:36
阅读次数:
175
约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,……,如此下去,直到所有人全部出圈为止。当任意给定n和m后,设计算法求n个人出圈的次序。稍微简化一下。 .....
分类:
其他好文 时间:
2015-07-09 06:15:54
阅读次数:
86
问题描述n个数字(0,1,...,n-1)形成一个圆圈,从数字0开始。每次从这个圆圈中删除第m个数字,然后从被删除的下一个继续删除第m个元素,以此类推。直到最后剩下一个数字,求出该数字。解决思路1. 使用循环链表模拟这一过程,计数器计数;2. 递归思路(图片来源:http://www.cnblogs...
分类:
其他好文 时间:
2015-07-06 12:05:52
阅读次数:
104
HUNAN CITY UNIVERSITY数据结构课程设计 说 明 书设计题目: 约瑟夫数 专 业: 计算机科学与技术学生姓名:班级学号:分组成员:指导教师: 2015 年 7月 3日《数据结构》课程设计说明书1306402 03 刘德豪一、设计时间2015年06月29日-...
分类:
其他好文 时间:
2015-07-02 13:35:11
阅读次数:
186
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"
typedef struct Node
{
int data;
struct Node * pNext;
}NODE,* PNODE;
PNODE create_list(void)
{
int i;
int len;
printf("请输入总人数:");
scanf("%d",&len);
PNODE pHead=(PNODE)malloc(sizeof(NODE)...
分类:
其他好文 时间:
2015-06-30 20:31:16
阅读次数:
138
http://acm.uestc.edu.cn/#/problem/show/525猴子选大王Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)SubmitStatus有m个猴子围成一圈,按....
分类:
其他好文 时间:
2015-06-20 00:14:11
阅读次数:
261
题目:约瑟夫环,有一个环先删掉第一个元素,然后每隔m个数字删掉,问最后剩下的是2号元素,
则应该去的最小m为多少。
分析:数论,模拟。将元素编号0~n-1,最后剩下编号的递推关系:f(i,m)=(f(i-1,m)+m)%i。
因此,问题转化成n-1元素,剩下第一个元素的约瑟夫环,按循序枚举m找到第一个成立的即可。
说明:╮(╯▽╰)╭。
#...
分类:
其他好文 时间:
2015-06-18 11:42:40
阅读次数:
119
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果+1即为原问题的解。数组方式假设下标从0开始,0,1,2 .. m-1共m个人,从1开始报数,报到k则此人从...
分类:
其他好文 时间:
2015-06-15 16:30:06
阅读次数:
153