移动建站平台,建网站公司公司,智能小区物业管理系统,大连开发区论坛网https://blog.csdn.net/m_hahahaha1994/article/details/51742453约瑟夫环#xff08;约瑟夫问题#xff09;是一个数学的应用问题#xff1a;已知n个人#xff08;以编号1#xff0c;2#xff0c;3…n分别表示#xff09;围坐在一张圆桌周围。从编号为k的人开始报数约瑟夫问题是一个数学的应用问题已知n个人以编号123…n分别表示围坐在一张圆桌周围。从编号为k的人开始报数数到m的那个人出列他的下一个人又从1开始报数数到m的那个人又出列依此规律重复下去直到圆桌周围的人全部出列。
#includestdio.h
#includestdlib.h
#includestring.htypedef struct Node
{int num;struct Node *next;
}LinkList;LinkList *creat(int n)
{int i 1;LinkList *p,*q,*head;p (LinkList*)malloc(sizeof(LinkList));p-num i;head p;for(i 2;in;i){q (LinkList*)malloc(sizeof(LinkList));q-num i;p-next q;p q;//p-next head;}p-next head;return head;}void fun(LinkList *L,int k,int m)
{int i,j;LinkList *p,*q,*s;p L;for(i 1;ik;i){q p;p p-next;}while(p-next!p){for(j 1;jm;j){qp;p p-next;}printf(%5d,p-num);s p;q-next p-next;p p-next;free(s);}printf(%5d,p-num);
}void main()
{LinkList *L;int n,k,m;n 9;m 4;k 2;Lcreat(n);fun(L,k,m);}