关闭

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

71人阅读 评论(0) 收藏 举报
分类:
题目描述


     有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.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15090次
    • 积分:108
    • 等级:
    • 排名:千里之外
    • 原创:91篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档