Contents

clc
clear all

EJERCICIO 6 (V.2)

% Escribir una función recursiva para resolver el problema de la Torres
% de Hanoi, comprobando dicha funcion para un valor de 5 discos.

% N=input('Numero de discos: '); COMO N= 5...
fprintf('Los movimientos a realizar son (1= primera palo, 2= segundo palo, 3= tercer palo: \n');
hanoi(5,1,2,3);
fprintf('\n');
fprintf('Torres de Hanoi resulta con exito');

% funcion

function [] = hanoi( discos,com,aux,fin )
	if discos==1
		fprintf('%d->%d',com,fin);

    else
		hanoi(discos-1,com,fin,aux);
		fprintf('\n%d->%d\n',com,fin);
		hanoi(discos-1,aux,com,fin);
    end
end
Los movimientos a realizar son (1= primera palo, 2= segundo palo, 3= tercer palo: 
1->3
1->2
3->2
1->3
2->1
2->3
1->3
1->2
3->2
3->1
2->1
3->2
1->3
1->2
3->2
1->3
2->1
2->3
1->3
2->1
3->2
3->1
2->1
2->3
1->3
1->2
3->2
1->3
2->1
2->3
1->3
Torres de Hanoi resulta con exito