一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/30 21:44:15
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时候,取这时报数报1的为王.若相当猴王,请问最初应该占什么位置?
就是到最后剩两个的时候不知道咋办,一定要用最最最最简单的方法,最好每一步都讲解一下
就是到最后剩两个的时候不知道咋办,一定要用最最最最简单的方法,最好每一步都讲解一下
{猴子选大王}
var
\x09a:array[1..10000] of boolean;
\x09i,j,k,n,s:integer;
\x09forword:boolean;
begin
\x09readln(n);
\x09for i:=1 to n do a[i]:=true;
\x09k:=0; i:=0; forword:=true;
\x09repeat
\x09\x09if forword then begin inc(i); if i>n then begin forword:=false; dec(i); dec(i); end; end
\x09\x09 else begin dec(i); if in then begin forword:=false; dec(i); dec(i); end; end
\x09\x09 else begin dec(i); if i
再问: 感觉你这个编的比上次你编还要复杂。。。。啊
再答: 这是按猴子排成一个直线的队列来编制的 !!! 上次是按围成一个园编制的 !!!
再答: 优化:去掉变量j及相应的循环 !
var
a:array[1..10000] of boolean;
i,k,n,s:integer;
forword:boolean;
begin
readln(n); s:=n;
for i:=1 to n do a[i]:=true;
k:=0; i:=0; forword:=true;
repeat
if forword then begin inc(i); if i>n then begin forword:=false; dec(i); dec(i); end; end
else begin dec(i); if in then begin forword:=false; dec(i); dec(i); end; end
else begin dec(i); if i
var
\x09a:array[1..10000] of boolean;
\x09i,j,k,n,s:integer;
\x09forword:boolean;
begin
\x09readln(n);
\x09for i:=1 to n do a[i]:=true;
\x09k:=0; i:=0; forword:=true;
\x09repeat
\x09\x09if forword then begin inc(i); if i>n then begin forword:=false; dec(i); dec(i); end; end
\x09\x09 else begin dec(i); if in then begin forword:=false; dec(i); dec(i); end; end
\x09\x09 else begin dec(i); if i
再问: 感觉你这个编的比上次你编还要复杂。。。。啊
再答: 这是按猴子排成一个直线的队列来编制的 !!! 上次是按围成一个园编制的 !!!
再答: 优化:去掉变量j及相应的循环 !
var
a:array[1..10000] of boolean;
i,k,n,s:integer;
forword:boolean;
begin
readln(n); s:=n;
for i:=1 to n do a[i]:=true;
k:=0; i:=0; forword:=true;
repeat
if forword then begin inc(i); if i>n then begin forword:=false; dec(i); dec(i); end; end
else begin dec(i); if in then begin forword:=false; dec(i); dec(i); end; end
else begin dec(i); if i
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.
n只猴子选大王,选举办法如下:从头到尾1,2,3报数,凡报3的退出,余下的从尾到头1,2,3报数,凡报3的退出.如此类推
有N只猴子选大王,选举的办法是:排成一排,从头到尾报数,报到3的倍数(3、6、9、……)的退出去,直到全部报完,然后从尾
C数组猴子选大王猴子选大王,n只猴子围成一圈,从1到m报数,报m的猴子出局.第n只猴子报数后,第1只猴子接着报数(因为围
M只猴子要选大王,选举办法如下:所有猴子按1,2……n编号围成一圈,从一
n只猴子要选大王,选举方法如下:所有猴子按 1,2 ……… n 编号并按照顺序围成一圈,从第 k 个猴子起,
pascal N只猴子选大王 恩 程序尽量简单.初学者水平
新的 猴子选大王 代码 猴子选大王 功能:设编号为1,2,3,……,n的n(n>0)个猴子按顺时针方向围坐
猴子选大王n只猴子围坐成一个圈,按顺时针方向从1到n编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,
有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出(pascal
求一道简单的pascal题目