早教吧作业答案频道 -->其他-->
猴子选大王 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
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
▼优质解答
答案和解析
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.
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.
看了 猴子选大王 PascalDe...的网友还看了以下:
篮子里有n根香蕉,一只猴子第一次拿走了一半,第二次拿走了剩下的3/1,请用含n的代数式数式表示最后篮 2020-03-30 …
几道同类的数学题!今有物不知其数,三三数之剩其二,五五数之剩其三,七七数之剩其二,问物几何?一数不 2020-05-02 …
数苹果,共有几个苹果?1个苹果树,2个2个数,剩1,3个3个数,剩1,4个4个数,剩1,5个5个数 2020-06-04 …
一个数,几个几个数,剩几;几个几个数,又剩几……最后求这个数是多少.可以举例子比如说,一堆桃子,3 2020-06-10 …
一筐橙子不到100个,2个2个地数剩1个,3个3个地数剩1个,5个5个数剩1个.这筐橙子最多有多少 2020-07-02 …
溶液的水解中为什么剩余的质子数目=产生质子的产物数目-消耗质子的产物数目为什么剩余的质子数目=产生 2020-07-24 …
急一道数学题一只猴子数一堆桃子.两个两个地数剩下1个,三个三个地数剩下1个,五个五个地数剩下3个,七 2020-10-29 …
一篮子鸡蛋,两个两个数剩一个,三个三个数剩两个,四个四个数剩三个,五个五个数剩四个,六个六个数剩五个 2020-11-06 …
递推发的题目有一堆棋子(棋子数大于1),把它四等份后剩一枚,拿去三份后零一枚,将剩下的棋子再四等份后 2020-12-28 …
有一筐苹果,不到100个,3个3个数,剩1个,4个4个数,剩1个,5个5个数,还是剩1个,问有多少苹 2021-01-05 …