约瑟夫环问题

 时间:2024-10-13 19:06:55

1、约瑟夫环(约瑟夫问题)是一个非常经典的数学的应用问题:简化来说就是已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。开始从编号为k的人报数,数到数字为m的那个人出坐逃缥卯列;继续,他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列!

约瑟夫环问题

2、Josephus有过的故事:39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,桃轾庾殇41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。

约瑟夫环问题

3、这是一个典型的循环链表题目。我们需要创建一个循环链表,依照游戏规则,依次进行删除结点操作。直至链表为空,打印出的元素顺序即为出局顺序!

约瑟夫环问题

4、下面用C语言写出约瑟夫环问题的程序,创建链表,添加数据,依次删除结点操作,直到链表为空表,源代码如下:

约瑟夫环问题约瑟夫环问题

5、我们可以任意设置个数n,以及间隔m:下图为一个实例的运行结果,模拟了经典的约瑟夫问题,41人,间隔3人,最后就是16号和31号逃脱!

约瑟夫环问题

6、这个题目可以很好的锻炼初学者对于链表,指针,以及循环的概念理解!

约瑟夫环问题
  • linux重定向命令的使用方法
  • 福昕PDF编辑器怎么放大书签文字
  • 黑云压城城欲摧甲光向日金麟在全诗中的作用
  • vs启用非托管代码调试
  • 处理好人际关系的几个要点
  • 热门搜索
    奖励的近义词 老人便秘严重怎么办 非常的近义词是什么 怎么去鼻子上的黑头 银行利息怎么计算 海市蜃楼是怎么形成的 怎么把页眉的横线去掉 穿梭的近义词 麻烦的近义词 美妙的近义词