用pascal编猴子选大王的思路和程序是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:45:46

程序代码:
program monkey;
type link=^rec;
rec=record
num:integer;
next:link;
end;
var p,q,head:link;
m,n,i:integer;
begin
write('The total number:');readln(m);//读入总数
write('The elect number:');readln(n);//读入每一次跳的数目
new(head);head^.num:=1;p:=head;//初始化
for i:=2 to m do begin
new(q);
q^.num:=i;
p^.next:=q;
p:=q;
end;
p^.next:=head;
p:=head;
i:=0;
repeat{循环 当p为p的子结点的时候停止 也就是说此时只有一个结点}
new(q);
q:=p;
p:=p^.next;
i:=i+1;
if i=n then begin
i:=0;
p^.next:=q^.next;
dispose(q);
end;
until p=p^.next;
writeln(p^.num);
readln;
end.