我刚学了《数据结构》,用单循环链表编了一个程序,得到结果是29??
program number(input,output);
const n=30;
type point=^node;
node=record
data:integer;
next:point;
end;
var a:array[1..n] of point;i:integer;b,r,m:point;cycle:boolean;
begin
new(a[1]); a[1]^.data:=1;
for i:=2 to n do begin
new(a[i]);a[i]^.data:=i;
a[i-1]^.next:=a[i];
end;
a[n]^.next:=a[1];
b:=a[1]; cycle:=true;
while cycle do
begin
if b^.data=b^.next^.data then begin cycle:=false;
writeln(b^.data);
end;
b:=b^.next;
r:=b^.next; m:=r^.next;
dispose(r); b^.next:=m; b:=m
end;
readln;
end.