houzixuandawang.cpp

来自「猴子选大王问题」· C++ 代码 · 共 52 行

CPP
52
字号

#include "iostream.h"
#include "stdio.h"
#define M 7               //猴子总数
#define N 2                  //报到第N个数的退出
typedef int ElemType;
struct LNode{ 
ElemType data; 
LNode *next; 
};


void main(){ 
LNode *head,*p,*q1;
p=new LNode;
head=p;
//给链表附初值
for(int i=0;i<M;i++)
{LNode *q=new LNode;
q->data=i+1;
p->next=q;
p=q;
}
//形成循环链表
p->next=head->next;
q1=head;

int a=1;
for (int j=1;;j++)
{if(q1==q1->next)        //只剩一只猴子时输出编号
break;
if(a<N)
{   
	q1=q1->next;

a=a+1;}
//报到第N个数的退出
else if(a==N)
{//cout<<q1->next->data<<" ";
 q1->next=q1->next->next;
 a=1;}}
printf("猴王为第%d号\n",q1->data);
}








⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?