猴子选大王是哪一类的题目??快!!!
实际是Josephus(约瑟夫)问题 [问题描述]M只猴子要选大王,选举办法如下:所有猴子按1…M编号围坐一圈,从第1号开始按顺序1,2,…,N报数,凡报到N的猴子退出到圈外,如此循环报数,直到圈内只剩下一只猴子时,这只猴子就是大王。M和N由键盘输入,打印出最后剩下的那只猴子的编号。[问题分析]这个...
...简洁的方法做一下,并解释一下,谢谢!题目:N只猴子选大王
,数到m号时该号的猴子退出到圈外,如此报数直到圈内只剩下一只猴子时,这只猴子就任大王。大家都认为这样非常公平公正,这个办法得到了全体猴子的一致认可,现在给出n,m的值,请输出猴子大王的编号。思路:递推 var n,m,i,s:longint; begin read(n,m);for i:=2 to n do s:=(s+m)mod...
关于100只猴子选大王的题,用C#做
算法:用数组建立一个链表结构,前一只猴子指向它下一只猴子,如这样,a[1]=2;a[2]=3;a[3]=4...因为每次数三个猴子,所以把第3个猴子从链表中断开,即把每次报到3的猴子所指向的猴子赋值给它前面报数的那只猴子,如第2个猴子直接指向第4个猴子,a[2]=4=a[3]。用个循环,point=0开始,...
约瑟夫问题猴子选大王
以下是文章内容的改写,以HTML格式呈现:问题描述:一群猴子按照编号围坐一圈,从第1个开始,每数到第N个猴子离开,如此循环直到只剩最后一只,这只猴子即为大王。基本要求:编写函数实现,输入参数为猴子总数m和每次数的个数n(n<m),输出大王的编号。C程序实现c#include #include struct monkey { ...
猴子选大王
根据问题描述可知,该问题中m个猴子围坐在一起形成首尾相接的环,因此可用循环链表解决。从第n个猴子开始出列相当于从链表中删除一个结点。该程序主要有三个模块组成,建立单链表,报数利用do-while循环实现猴子的出列,最终剩下的猴子即猴王。具体步骤如下:第一步 首先创建循环链表。第二步 向单...
猴子选大王的编程,数据结构方法
不确定具体题目,从网上摘抄来的题目:山上有n只猴子要选大王,选举办法如下:所有猴子从1到n进行编号并围坐一圈,从第一号开始按顺序1,2,...m继续报数,凡是报m号的猴子都退出到圈外,照此循环报数,直到圈内只剩下一只猴子时,这只猴子就是大王.输出大王的编号。这个题目是循环链表的应用,循环链表...
C数组猴子选大王
猴子竞选大王 --请输入猴子的总数num = 10 按顺时针方向就坐的猴子编号依次是:猴子1 猴子2 猴子3 猴子4 猴子5 猴子6 猴子7 猴子8 猴子9 猴子10 规定数字,报出这个数的猴子将被淘汰出局,这个数max_hao = 2 被淘汰出局的猴子依次是:猴子2 猴子4 猴子6 ...
...简洁的方法做一下,并解释一下,谢谢!题目:N只猴子选大王
=rn-1; end;if length(a)<=4 then begin rst:=copy(3,2,a); goto fns;end;goto head;:fnsif rst[1]:=0 then rst:=rst[2];writeln(rst);end.代码有一些错误,请你修改后再运行。基本思想:将参选的猴子编号,1号的编号为01,2号的编号为02,以此类推,然后把所有猴子的编号按顺序...
有一群猴子共N只,要选大王。它们约定排成一排,从头到尾1至3报数,报到3...
有一群猴子共N只,要选大王。它们约定排成一排,从头到尾1至3报数,报到3 的猴子留下,其余退出,留下的猴子再从尾到头1至3报数,再留下报3的猴子,重新从头到尾1至3报数,……,如此进行,直到剩下的一只猴子为王,若剩下二只猴子,以原来站队时排在后面的那只猴子为王。是这个问题??那么N...
...用最简洁的方法做一下,并解释一下,谢谢!题目:N只猴子选大王...
{n只猴子选大王,数到3的淘汰,剩2只时数1的为大王} var a:array[1..10000] of integer; {存放猴子序号} i,j,k,n,s:integer;begin readln(n);for i:=1 to n do a[i]:=i;k:=0; i:=0;repeat inc(i); if i>n then i:=1;if a[i]<>0 then inc(k);if (a[i]<...