pascal N只猴子选大王 恩 程序尽量简单.初学者水平
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/16 05:12:56
pascal N只猴子选大王 恩 程序尽量简单.初学者水平
N只猴子选大王.选举办法如下:从头到尾1、2、3报数,凡报3的退出,余下的从尾到头1、2、3报数,凡报3退出;余下的又从头到尾报数,还是报3的退出;依此类推,当剩下的两只猴子时,取这时报数报1的为王.若想当猴王,请问当初应占据什么位置?
例如:输入猴子最初的只数N:10
输出想当猴王当初应占据的位置:8
N只猴子选大王.选举办法如下:从头到尾1、2、3报数,凡报3的退出,余下的从尾到头1、2、3报数,凡报3退出;余下的又从头到尾报数,还是报3的退出;依此类推,当剩下的两只猴子时,取这时报数报1的为王.若想当猴王,请问当初应占据什么位置?
例如:输入猴子最初的只数N:10
输出想当猴王当初应占据的位置:8
![pascal N只猴子选大王 恩 程序尽量简单.初学者水平](/uploads/image/z/6048640-64-0.jpg?t=pascal+N%E5%8F%AA%E7%8C%B4%E5%AD%90%E9%80%89%E5%A4%A7%E7%8E%8B+%E6%81%A9+%E7%A8%8B%E5%BA%8F%E5%B0%BD%E9%87%8F%E7%AE%80%E5%8D%95.%E5%88%9D%E5%AD%A6%E8%80%85%E6%B0%B4%E5%B9%B3)
var
q:array[1..1000] of integer;// 循环队列
b,e,c:integer;
n:integer;
i:integer;
procedure add(x:integer);
begin
inc(e);
if e >= 1000 then e:=1;
q[e]:=x;
inc(e);
end;
function del():integer;
begin
inc(b);
if b >= 1000 then b:=1;
del:=q[b];
dec(c);
end;
begin
readln(n);
for i:= 1 to n do
add(i);
while c > 2 do
begin
add(del); // 报 1
add(del); // 报 2
del; // 报 3 的退出
end;
// 此时只剩两只猴子
writeln(del);
end.
再问: wrong answer...不知道为什么
再答: 参考我和楼下的程序,我得出了一个结论,数据有问题。。。
q:array[1..1000] of integer;// 循环队列
b,e,c:integer;
n:integer;
i:integer;
procedure add(x:integer);
begin
inc(e);
if e >= 1000 then e:=1;
q[e]:=x;
inc(e);
end;
function del():integer;
begin
inc(b);
if b >= 1000 then b:=1;
del:=q[b];
dec(c);
end;
begin
readln(n);
for i:= 1 to n do
add(i);
while c > 2 do
begin
add(del); // 报 1
add(del); // 报 2
del; // 报 3 的退出
end;
// 此时只剩两只猴子
writeln(del);
end.
再问: wrong answer...不知道为什么
再答: 参考我和楼下的程序,我得出了一个结论,数据有问题。。。
pascal N只猴子选大王 恩 程序尽量简单.初学者水平
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.
猴子选大王pascal
pascal 猴子选大王
猴子选大王 Pascal
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3
C数组猴子选大王猴子选大王,n只猴子围成一圈,从1到m报数,报m的猴子出局.第n只猴子报数后,第1只猴子接着报数(因为围
猴子选大王程序,帮我注释一下,
猴子选大王问题 Free Pascal提示202堆栈溢出错
过河卒,24点 pascal语言程序.(我是初学者写的易懂点 能省过程、函数尽量省)
M只猴子要选大王,选举办法如下:所有猴子按1,2……n编号围成一圈,从一
猴子选大王n只猴子围坐成一个圈,按顺时针方向从1到n编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到m的猴子出局,