/*********************** Torres de Hanoi ***********************/
/* hanoi.c
*/
#include <stdio.h>
int mover(int, char, char, char);
/**************************** main ****************************/
void main()
{
int n_discos, movimientos;
printf("Nº de discos : ");
scanf("%d", &n_discos);
movimientos = mover(n_discos, 'A', 'B', 'C');
printf("\nmovimientos efectuados: %d\n", movimientos);
}
/*************************** mover ****************************/
int mover(int n_disco, char a, char b, char c)
{
static int movimientos = 0;
if (n_disco > 0)
{
mover(n_disco-1, a, c, b);
printf("mover disco de %c a %c\n", a, c);
movimientos++;
mover(n_disco-1, b, a, c);
}
return movimientos;
}
Recursion: Hanoi
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario