Il Blog di...

Soluzione de "La Susi"

ecco la soluzione del gioco della settimana enigmistica.
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: