有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 05:05:49
有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行,

有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行,
有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行,第四遍又从尾到头,直到最后余下两只,以排在后面(按报数的顺序)的那只为猴王.请编程序找出猴王的位置.(N从键盘输入)(用PASCAL)

有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行,
这个是C语言编写,
题目是输入两个正整数 n 和 m( (1data=x;
r=p->next;
q->next=r;
p->next=q;
}
void delect(Position p){// delect the element after p
PtrToNode tmp;
tmp=p->next;
p->next=tmp->next;
free(tmp);
}
void MakeList(List *L,int n){//make the list
int i;
Position p=L;
for(i=1;inext;
}
}
void main()
{
int i,j,n,m;
Position p,q,r;
List L;
double duration;
while(scanf("%d%d",&n,&m)!=EOF){//input the number to slect
if(n>MAX){
printf("The number is too large!\n");
continue;
}
init(&L);//initilze the list
MakeList(L,n);//make the list
start = clock();
q=p=L->next;// p and q are the first position of the list
for(i=0;inext; // r is the position of the element we select
if(r==NULL)r=q;
if(i!=n-1)printf("No%d:%d\n",i+1,r->data);//print the element
else printf("Last No is:%d\n",r->data);
if(p->next==NULL){
delect(L);
q=L->next;//delect the position of p->next
}
else delect(p);
p=p->next;
if(p==NULL)p=q;
}
stop = clock();
duration = ((double)(stop - start))/CLK_TCK;
printf("The time is %f\n",duration);
}
}

什么意思嘛,说清楚一点,我也觉得会打起来。不现实

猴子打起来

只会打起来

有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾到头开始逆向报数,同样报3的倍数的退出.第三遍又是从头到尾进行, M只猴子要选大王,选举办法如下:所有猴子按1,2……n编号围成一圈,从一 pascal N只猴子选大王 恩 程序尽量简单.初学者水平N只猴子选大王.选举办法如下:从头到尾1、2、3报数,凡报3的退出,余下的从尾到头1、2、3报数,凡报3退出;余下的又从头到尾报数,还是报3的 又n只猴子要选出一个大王,规定排成一排后按123报数,剔除报到3的,在从后向前123报数,剔除报到3的,按照这样的规则继续下去,知道只剩下两只猴子,从中选择报1的猴子当大王,问如果想当大王,应 数据结构顺序表写猴子选大王怎么写啊?如果你想粘贴下面这个,那你就不用了,这种写法是错误的!n只猴子要选大王,选举方法是:所有猴子按1,2,…,n编号围坐一圈,从第1号开始按1,2,…,m报数,凡 n只猴子选大王,选举办法如下:从头到尾1,2,3报数,凡报3的退出,余下的从尾到头1,2,3报数,凡报3的退出.如此类推,当剩下两只猴子时,取这时报1的为王,若想当猴王,请问当初应占据什么位置?请大家 猴子选大王pascaln只猴子选大王,选举办法如下:从头到尾1,2,3报数,凡报3的退出,余下的从尾到头1,2,3报数,凡报3的退出...如此类推,当剩下两只猴子时,取这时报1的为王,若想当猴王,请问当初 一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时 一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时 Turbo Pascal编程题目用Turbo Pascal一维数组(与循环)做下面的题目(要详细程序):N只猴子围成一圈选大王.选举方式如下:1、2、3报数,数到3的猴子退出圈外.直到剩下一只猴子为止,这只猴子 n只猴子要选大王,选举方法如下:所有猴子按 1,2 ……… n 编号并按照顺序围成一圈,从第 k 个猴子起,帮忙编个程序,用循环链表 C数组猴子选大王猴子选大王,n只猴子围成一圈,从1到m报数,报m的猴子出局.第n只猴子报数后,第1只猴子接着报数(因为围成了圈).待整个全只剩下一只猴子时,该猴子即为大王.n,m由用户输入,请 麻烦看一下下面的程序有什么问题!猴子选大王.n只猴子围成一圈,从1到m报数,报m的猴子出局.余下的猴子从第m+1只开始继续从1到m报数,报m的猴子出局.第n只猴子报数后,第1只猴子接着报数(因 有一只猴王老了,要选新的猴王,它让1000只猴子排成一排,每次让单数的猴子出列,最后 留下的那只猴子是猴王,请问那是第几只猴子? 数据结构课程设计,只做其中一题14、 猴子选大王  任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依 猴子选大王,C语言描述 请相信解释我的代码!猴子选大王问题描述:一堆猴子都有编号,编号是1,2,3….m,这群猴子(m个)按照1-m的顺序围坐一圈,从1开始数,每数到第N个,该猴子就要离开此圈,这 pascal 猴子选大王猴子们排好一圈,顺序从1到n进行编号,从第1号开始报数1,2,……,数到m号时该号的猴子退出到圈外,如此报数直到圈内只剩下一只猴子时,这只猴子就任大王.现在给出n,m的值,请输 新的 猴子选大王 代码 猴子选大王 功能:设编号为1,2,3,……,n的n(n>0)个猴子按顺时针方向围坐