移动短信查询套餐业务:谁知道汉罗塔游戏的pascal算法

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 10:40:14

三根针,以中间的那根为过度,用pascal的第归算法可以算出。

program Hanoi(input, output);
var
n: Integer;

procedure MoveSingle(Origin, Dest: Char);
begin
Writeln(Origin, '==>', Dest);
end;

procedure MoveMult(Origin, Dest, Medi: Char, n: Integer);
begin
if n > 1 then
begin
MoveMult(Origin, Medi, Dest, n-1);
MoveSingle(Origin, Dest);
MoveMult(Medi, Dest, Origin, n-1);
end else MoveSingle(Origin, Dest);
end;

begin
Writeln('Hanoi program');
Write('Input a number: ');
Readln(n);
MoveMult('A', 'C', 'B', n);
end.