早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时

题目详情
一道非常简单的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
看了 一道非常简单的pascal题...的网友还看了以下: