求pascal高手做一道题猴子选大王:\有M个猴子围成一圈,编号从1到M.打算从中选出一个大王.经过协商,决定选大王的规则如下:从第一个开始报数,报到N的猴子出圈,接着从出圈的下一个开始报

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/19 11:11:38
求pascal高手做一道题猴子选大王:\有M个猴子围成一圈,编号从1到M.打算从中选出一个大王.经过协商,决定选大王的规则如下:从第一个开始报数,报到N的猴子出圈,接着从出圈的下一个开始报

求pascal高手做一道题猴子选大王:\有M个猴子围成一圈,编号从1到M.打算从中选出一个大王.经过协商,决定选大王的规则如下:从第一个开始报数,报到N的猴子出圈,接着从出圈的下一个开始报
求pascal高手做一道题
猴子选大王:
\有M个猴子围成一圈,编号从1到M.打算从中选出一个大王.经过协商,决定选大王的规则如下:从第一个开始报数,报到N的猴子出圈,接着从出圈的下一个开始报
数…,剩下的最后一个就是大王.
要求:从键盘输入M,N,编程计算哪一个编号的猴子能成为大王.
测试数据:
当M=8 ,N=5 时,3号猴子能成为大王,出圈顺序为:5 2 8 7 1 4 6 3
第一个回答不对啊!求高手的具体程序

求pascal高手做一道题猴子选大王:\有M个猴子围成一圈,编号从1到M.打算从中选出一个大王.经过协商,决定选大王的规则如下:从第一个开始报数,报到N的猴子出圈,接着从出圈的下一个开始报
var
int n, m, i, s:longint;
readln(n,m);
for i:=2 to m do
begin  
s=(s+n) mod i;
 writeln("winner is",s)
end;
end.