作业帮 > 综合 > 作业

13个人围成一个圈,从第1个人开始顺序报数1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 05:33:09
13个人围成一个圈,从第1个人开始顺序报数1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.
要求用链表实现.
#include
typedef struct game
{
\x09int n;
\x09struct game *next;
}Node,*List;
int main()
{
\x09List L=new Node,p=L,q;
\x09//初始化循环链表
\x09for(int i=1;inext=new Node;
\x09\x09p->n=i;
\x09}
\x09p->next=L->next;
\x09//从L->next开始
\x09p=L->next;
\x09while(L->next->next!=L->next)
\x09{
\x09\x09p=p->next;
\x09\x09q=p->next;//q指向要退出的,p指向前一个节点
\x09\x09p->next=q->next;//退出该人
\x09\x09if(q==L->next)//如果退出的节点是接在头结点后面则修改头结点next
\x09\x09{
\x09\x09\x09L->next=q->next;
\x09\x09}
\x09\x09p=q->next;
\x09}
\x09printf("%d",L->next->n);
}
N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编 有N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子, 2:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子, 有10个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到了的人退出圈子,问最后留下的是原来第几号的那位. 用C语言编写:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,请输出报数出列圈及最 C语言:有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 问最后留下 、用指针完成下面程序:有n个人围成一圈,顺序排号,从第一个人开始报数(从1-3报数),凡报到3的退出圈子,请编程求出最后 C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 c语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1~3报数),报到3的人退出圈子,求退出顺序 C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子 C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子