码迷,mamicode.com
首页 > 其他好文 > 详细

标准约瑟夫问题链表版

时间:2016-10-20 15:23:02      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

type
    point=^node;
    node=record
        data:longint;
        next:point;
    end;
var
    h,s,p,q:point;
    m,n,i,t:longint;
begin
    readln(n,m);

    //create the linked list
    new(s);  h:=s;  s^.data :=1;  p:=s;
    for i:=2 to n do
    begin
        new(s);  s^.data:=i;  p^.next:=s;  p:=s;
    end;
    p^.next:=h;

    //elect the king
    q:=p; t:=0;
    repeat
        p:=q^.next;  inc(t);
        if t=m then
        begin
            q^.next:=p^.next;  writeln(p^.data); dispose(p);  t:=0
        end
        else q:=p;
    until p=p^.next;

    writeln(p^.data);
end.
技术分享

标准约瑟夫问题链表版

标签:

原文地址:http://www.cnblogs.com/pixiuart/p/5980535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!