早教吧作业答案频道 -->其他-->
猴子选大王 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...的网友还看了以下:
我设置不了悬赏分,你一定会有福报的!1.(1)证明:1\√(n+1)+√n=√(n+1)-√n"\ 2020-05-23 …
设x=根号(n+1)+根号n分之根号(n+1)—根号n,y=根号(n+1)—根号n分之根号(n+1 2020-07-20 …
设x=根号下(n+1)-根号n/根号下(n+1)+根号n,y=根号下(n+1)+根号n/根号下(n 2020-07-24 …
一定点数字长n位,且最高位是符号位,小数点位于最低位的后面,则该机器数所能表示的最小值是().A. 2020-07-30 …
若x=根号n+1-根号n/根号n+1+根号n,y=根号n+1+根号n/根号n+1-根号n且10x^2 2020-11-03 …
9个小朋友站成一圈报数.第1个人报1号,第2个人报2号…这样循环报下去.第19号是谁报?第36号呢第 2020-11-17 …
已知m>0,n>0,且根号m(根号m+根号n)=3根号(根号m+5倍根号n).已知m>0,n>0,且 2020-12-31 …
(2006•嘉定区二模)将n位选民参加无记名投票后的选票进行随机编号,依次为1,2,…,n,参加竞选 2021-01-01 …
某电视节目中,邀请了n对夫妻,编号1.2.3.n,把编号为1.2.3.n的n个妻子眼睛蒙上,让他们每 2021-01-02 …
已知数列{an}通项公式是an=1/根号n+根号n+1,前n项和为10.则项数n为?Sn=(根号2- 2021-02-09 …