Il tutto utilizzando questo programma in pasquale...
program hanoi_towers;
uses crt;
const A=1;
const B=2;
const C=3;
procedure movimento(origine,destinazione:integer;var cpt:integer);
begin
writeln('movimento ',origine,' ----> ',destinazione);
cpt:=cpt+1
end;
procedure hanoi_aux(n:integer;ori,inter,dest:integer; var compt:integer);
begin
if n=1 then movimento(ori,dest,compt)
else
begin
hanoi_aux(n-1,ori,dest,inter,compt);
movimento(ori,dest,compt);
hanoi_aux(n-1,inter,ori,dest,compt);
end;
end;
procedure hanoi(n:integer);
var compt : integer;
begin
compt:=0;
hanoi_aux(n,A,B,C,compt);
writeln('numero di movimenti' , compt);
end;
var n: integer;
begin
write('numero ti piani:');
readln(n);
hanoi(n);
readln;
end.
Nessun commento:
Posta un commento