26757:循环链表练习 分数: 100

题目描述


     有n只猴子,按顺时针方向围成一圈(开始时编号为1,2,……n),选大王。从第1号猴子开始报数1,2,3……,数到m号时该猴子退出到圈外,如此报数直到圈内只剩下一只猴子时,此猴便是大王。你的任务是从键盘读入n,m,程序判断输出最后的大王是几号?


输入格式

输入一行,n,m分别表示猴子数量和报的数


输出

输出选出的大王


样例输入

5 3


样例输出

4

program p4851;
var a,b,c,d,n,m:integer;
admin:array[1..10000] of integer;
begin
b:=0;
read(n,m);
for a:=1 to n do
admin[a]:=a;
b:=m;
for a:=1 to n-1 do
begin
admin[b]:=0;
while c<m do begin
b:=b+1;
if b>n then
b:=b mod n;
if admin[b]>0
then c:=c+1;
end;c:=0;
end;
for a:=1 to n do if admin[a]>0 then writeln(a);
end.

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jing1223639316/article/details/46826623
个人分类: 编程
上一篇26757:循环链表练习 分数: 100
下一篇26790: 树的数量
想对作者说点什么? 我来说一句

app0304.rar

2016年04月27日 189KB 下载

没有更多推荐了,返回首页

关闭
关闭