猴子选大王 PascalDescription 有n个猴子分别编号为1,2,3,...,n,按顺时针方向围成一个圈选大王.从第一号开始报数1,2,.,数到m号时该猴子出圈,再如此报数直到圈内只剩一只猴子时,此猴子便是大王.Inp

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 12:21:29
猴子选大王PascalDescription有n个猴子分别编号为1,2,3,...,n,按顺时针方向围成一个圈选大王.从第一号开始报数1,2,.,数到m号时该猴子出圈,再如此报数直到圈内只剩一只猴子时

猴子选大王 PascalDescription 有n个猴子分别编号为1,2,3,...,n,按顺时针方向围成一个圈选大王.从第一号开始报数1,2,.,数到m号时该猴子出圈,再如此报数直到圈内只剩一只猴子时,此猴子便是大王.Inp
猴子选大王 Pascal
Description
有n个猴子分别编号为1,2,3,...,n,按顺时针方向围成一个圈选大王.从第一号开始报数1,2,.,数到m号时该猴子出圈,再如此报数直到圈内只剩一只猴子时,此猴子便是大王.
Input
只有一行两个整数n和m,n和m用空格隔开(1 < =n,m〈 =1000)
Output
只有一个数,所选猴子大王的编号.
Sample Input
10 3
Sample Output
4

猴子选大王 PascalDescription 有n个猴子分别编号为1,2,3,...,n,按顺时针方向围成一个圈选大王.从第一号开始报数1,2,.,数到m号时该猴子出圈,再如此报数直到圈内只剩一只猴子时,此猴子便是大王.Inp
var a:array[0..1000] of boolean;
m,n,i,s,t:integer;
begin
readln(n,m);
fillchar(a,sizeof(a),true);
s:=0;
i:=1;
while true do
begin
t:=0;
while true do
begin
if a[i]=true then
begin
t:=t+1;
if t=m then break;
end;
i:=(i+1) mod n;
if i=0 then i:=n;
end;
a[i]:=false;
s:=s+1;
if s=n then break;
end;
writeln(i);
end.