题目
13个人围成一个圈,从第1个人开始顺序报数1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.
要求用链表实现.
要求用链表实现.
提问时间:2021-01-06
答案
#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;
x09x09p->n=i;
x09}
x09p->next=L->next;
x09//从L->next开始
x09p=L->next;
x09while(L->next->next!=L->next)
x09{
x09x09p=p->next;
x09x09q=p->next;//q指向要退出的,p指向前一个节点
x09x09p->next=q->next;//退出该人
x09x09if(q==L->next)//如果退出的节点是接在头结点后面则修改头结点next
x09x09{
x09x09x09L->next=q->next;
x09x09}
x09x09p=q->next;
x09}
x09printf("%d",L->next->n);
}
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;
x09x09p->n=i;
x09}
x09p->next=L->next;
x09//从L->next开始
x09p=L->next;
x09while(L->next->next!=L->next)
x09{
x09x09p=p->next;
x09x09q=p->next;//q指向要退出的,p指向前一个节点
x09x09p->next=q->next;//退出该人
x09x09if(q==L->next)//如果退出的节点是接在头结点后面则修改头结点next
x09x09{
x09x09x09L->next=q->next;
x09x09}
x09x09p=q->next;
x09}
x09printf("%d",L->next->n);
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
- 1What,have,do,for,breakfast,you,often(?)连词成句
- 2序齿排班?
- 3He washes every day.(改为现在进行时) where(同音词)people(复数形式)feel(过去式)make(现在分词)
- 4句型转换The doctor told Mary to stay in bed for two
- 5一幅地图的比例尺是0 60 120 千米,把它改写成数值比例尺是()在这幅地图上量得甲乙两城之间的距离是4.5
- 6求解一道微观经济学计算题
- 7用山势险峻 峰岩重叠造句
- 8The first textbooks ____ for teaching English as a foreign language came out in the 16th century.(NM
- 9查水表英语怎么说
- 10nobody is due to be beioned to nobody
热门考点