求助大神,c++、约瑟夫问题,不知道哪里出了问题

设编号为12、……nn个人按顺时針方向围坐一圈约定编号为k1<=k<=n)的人按顺时针方向1开始报数,数到m的那个人出列它的下一位又从1开始报数,数到m的那个人又出列依次类推,直到所有人出列为止由此产生一个出队编号的序列。试设计算法求出n个人的出列顺序

//链表结点类number为这个人的编号 //约瑟夫环類,此类包含多个person类,并控制输入输出. }//构造函数,把成员变量赋初值 //for循环中用于初始化环 //如果当前链表为空,头结点指向第一个"人" else //否则,p2永远指向尾結点,新建的结点都接到p2之后 //运算并输出的成员函数 //有n个人,所以执行n次循环 //用count定位到第m个人,循环后,p1指向这个人,p2指向这个人的上一个人 delete p;//把这个囚删除(就是释放这块内存)

利用C++解决约瑟夫问题

这是以前寫的一个用C++实现问题. 有问题还请追问.

加载中,请稍候......

以上网友发言只代表其个人观点不代表新浪网的观点或立场。

约瑟夫环(约瑟夫问题)是一个數学的应用问题:已知n个人(以编号12,3...n分别表示)围坐在一张圆桌周围从编号为k的人开始报数,数到m的那个人出列;他的下一个人又從1开始报数数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列

我要回帖

 

随机推荐