早教吧作业答案频道 -->其他-->
猴子选大王 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...的网友还看了以下:
小学二年级的问题,不要用X!猴妈妈教小猴爬竿,爬到顶端猴妈妈奖给小猴8个桃子,爬不到顶端小猴退给猴 2020-04-07 …
数学题(猴子吃桃)有五个猴子,一筐桃子,五个猴子打算把桃子平分,但是平分猴多出来一个.于是乎猴子都 2020-05-17 …
三只小猴分别是三只大猴的孩子,这条船的承重能力是两只猴,如果小猴离开自己的母亲和其它大猴大一起就会 2020-05-20 …
一群小猴子分桃子,第一只猴子拿走其中的一半又半个,第二只小猴子又拿走余下的一半又半个,第三只小猴子 2020-05-24 …
公侯,母猴和小猴共38只,每天共摘桃子266个,已知一只公侯每天摘桃10个,一只母猴每天摘桃8个, 2020-06-14 …
一群公猴、母猴和小猴共42只,每天共摘桃315个.已知一只公猴每天摘桃10个,一只母猴每天摘桃8个 2020-06-17 …
小小把一堆桃子,分给若干猴子,每只猴子分5个,还剩59个,如果每只猴子分10个,就有3只猴子一个也 2020-06-23 …
猴子吃桃子的问题一个猴子吃3个桃子多出一个,一个猴子吃4个桃子就少2个.问有几个猴子几个桃子.答案 2020-06-23 …
一群猴子采摘水蜜挑.猴王不在的时候,一个大猴子一小时可采摘15公斤,一个小猴子一小时可采11公斤; 2020-06-28 …
一群猴子采摘水蜜挑.猴王不在的时候,一个大猴子一小时可采摘15公斤,一个小猴子一小时可采11公斤; 2020-06-28 …