约瑟夫问题的一般形式:   约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的人的序号为5,4,6,2,3。最后剩下1号。
2024-05-05 13:49:23 946B
1
设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。
2023-01-08 11:08:37 6KB 约瑟夫环 源程序 代码
1
分别基于C和C++利用循环链表的数据结构解决约瑟夫环问题 注释详细,包含了Visual Studio 2017 Professional的工程文件,可以直接运行 包含了C语言实现和C++实现两个文件
2022-12-29 19:43:59 28.12MB C语言 C++ 约瑟夫环 完整代码及工程
1
约 瑟 夫 环 一.需求分析 1.约瑟夫环(Joseph)问题的一种描述是:编号为1,2……,n的n个人 按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一 个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺 序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直 至所有人全部出列为止。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示"提 示信息"之后,有用户在键盘上输入演示程序中规定的运算命令,相应 的输入数据和运算结果显示在其后。 3.程序执行的命令包括: 1)输入初始密码和人数 2)输入所有人的密码 3)显示输入的所有人的 编号及相应的密码 4)输出出列密码及编号 5)结束 4.测试数据 (1)m=20, n=7, 7个人的密码依次为3,1,7,2,4,8,4 (2)m=20,n=1 (3)m=20,n=0 前面一组为常规数据,后面两组为边缘数据 二、概要设计 为实现上述功能,应以有序单向循环链表表示约瑟夫环。为此,需 要有一个抽象数据类型。该抽象数据类型的定义为: AD
2022-12-24 18:15:18 319KB 文档资料
1
算法与数据结构课程设计源码与文档,题目为 约瑟夫问题和人事管理
2022-12-15 21:44:02 1.54MB 算法 数据结构
1
用两种方法实现约瑟夫环,链表法和数组法。总结比较简单
2022-12-11 09:53:58 967B C语言实现
1
一、需求分析 1、以单项循环链表存储结构模拟约瑟夫环问题。即编号为1、2、3…、n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。按出列顺序印出各人编号。 2、 演示程序以用户与计算机的对话方式执行,用户输入相应的数据,输出结果显示在其后。 3、 测试数据:m初始值20,n=7,7个人密码依次为:3,1,7,2,4,8,4。正确出列顺序为6,1,4,7,2,3,5。 二、概要设计 1. 抽象数据类型的定义为: ADT LNode { 数据对象:D={ai | ai∈CharSet,i= 1,2,…,n,n≥0} 数据关系:R1={< ai-1 ,ai > | ai ∈D, I=2,…,n} 基本操作: initList(Linklist &L)
2022-12-04 22:12:43 33KB 数据结构 约瑟夫环 c++
1
双向循环链表解决约瑟夫实验报告, 双向循环链表解决约瑟夫实验报告 双向循环链表解决约瑟夫实验报告双向循环链表解决约瑟夫实验报告
2022-11-27 10:54:40 124KB 双向循环链表 约瑟夫 实验报告
1
数据结构(Java)实践作业约瑟夫环参考书本可直接运行交作业
2022-10-16 13:18:29 2KB 约瑟夫环
1
杭电数据结构最小生成树实验报告,供学弟学妹们借鉴使用。 其余学校也能使用,文件包含源码。源码绝对正确,这是我的期末作业哈哈。 希望同学们数据结构满绩哈哈。
2022-10-15 14:21:20 149KB 杭电 数据结构 约瑟夫环
1