鱼C论坛

 找回密码
 立即注册
查看: 2813|回复: 5

[已解决]有人能帮忙解决这个问题吗?

[复制链接]
发表于 2020-5-2 22:06:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ajxbobo 于 2020-5-5 15:06 编辑

约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,
再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。用顺序表实现。

(求代码和思路。最好能有较为详细的思路和注释)你们能帮帮我吗?!!!拜托了!!

  抱歉,之前忘记了写了需要用   C语言  来写
最佳答案
2020-5-8 21:18:44
1. 初始化一个 n 个节点的环形链表,每个节点有对应的编号
2. 设置 current = head,index = 1
3. current = current ->next, index += 1
4. if index == m;  temp = current; delete(current); current = temp->next 设置 index = 1,
5. if current == current.next; return
6. goto 3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-2 22:18:21 | 显示全部楼层
请问是什么语言?

如果有布尔类型的话,就做一个布尔类型的数组(如果没有用整形也可以代替——出列了为 0 没出列为 1)
数组默认全是 1

反复循环,如果出列了就把元素变成 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 08:14:27 | 显示全部楼层
liuzhengyuan 发表于 2020-5-2 22:18
请问是什么语言?

如果有布尔类型的话,就做一个布尔类型的数组(如果没有用整形也可以代替——出列了为 ...

是数据结构与算法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 08:15:22 From FishC Mobile | 显示全部楼层
冰河星云 发表于 2020-5-3 08:14
是数据结构与算法


好吧
ta说求代码与思路的呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 08:16:29 | 显示全部楼层
liuzhengyuan 发表于 2020-5-3 08:15
好吧
ta说求代码与思路的呀

好像用的是c语言
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-8 21:18:44 | 显示全部楼层    本楼为最佳答案   
1. 初始化一个 n 个节点的环形链表,每个节点有对应的编号
2. 设置 current = head,index = 1
3. current = current ->next, index += 1
4. if index == m;  temp = current; delete(current); current = temp->next 设置 index = 1,
5. if current == current.next; return
6. goto 3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 00:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表