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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 18:18:46
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时
xSMn@,426ޠHpI t@6SDBBJ&j*hJ@x+M)˪Rzaޓ-Sw '5MriIڎq?5vۃB͢S?٧:-@2K ~u iォé8x=`kY iѠL!v MpiHpHƌ:C q$q׶&]qr]ev k^gߣj/YzG _ s2,u&a0fa xNǵM?Zݺ-ZӲ3?sMT)ڣ=b>vSy)kTUz)põI+"B{װk3ߒ:_riLEZB UA(U (E%HT"17""PN @v6T s3xCXs} k4zMpl#a %:ZV^AZ,cBT"Wa߬0ID S;

一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时
一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.
选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时候,取这时报数报1的为王.若相当猴王,请问最初应该占什么位置?

一道非常简单的pascal题目,求大师用最简洁的方法做一下,N只猴子选大王.选举办法如下:从头到尾1,2,3报数,凡报3的就退出,余下的从尾到头1.2.3报数,凡报3的退出;以此类推,当剩下两只鸡的时
{n只猴子选大王,数到3的淘汰,剩2只时数1的为大王}
var
\x09a:array[1..10000] of integer; {存放猴子序号}
\x09i,j,k,n,s:integer;
begin
\x09readln(n);
\x09for i:=1 to n do a[i]:=i;
\x09k:=0; i:=0;
\x09repeat
\x09\x09inc(i); if i>n then i:=1;
\x09\x09if a[i]0 then inc(k);
\x09\x09if k mod 3=0 then a[i]:=0;
\x09\x09s:=0;
\x09\x09for j:=1 to n do if a[j]0 then inc(s);
\x09until s=2;
\x09repeat
\x09\x09inc(i); if i>n then i:=1;
\x09until a[i]0;\x09
\x09writeln(a[i]);
end.