非递归算法完成汉诺塔(10个以上)

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:59:09

program loki;
const
nummax=10000;
var
i,n,m,j,k:longint;
a:array [1..nummax] of longint;
begin
readln(n);
m:=1;
n:=n+1;
a[1]:=1;
for i:=1 to n do
begin
for j:=1 to 100 do
begin
a[j]:=a[j]*2+k;
k:=0;
if a[j]>9
then begin
k:=a[j] div 10;
a[j]:=a[j] mod 10;
inc(m);
end;
end;
end;
while a[m]=0 do
dec(m);
for i:=m downto 2 do
write(a[i]);
writeln(a[1]-2);
end.