冴君麻衣子的所有番号:谁知道汉罗塔游戏的pascal算法

来源:百度文库 编辑:高校问答 时间:2024/05/05 14:21:19

三根针,以中间的那根为过度,用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.