Torres de hanoi en c++
El juego consiste en tres
varillas verticales. En una de ellas están apiladas un número de discos, generalmente
ocho, de diámetros diferentes, ordenados de mayor a menor (el de mayor diámetro
abajo). Las otras dos varillas están vacías. El juego consiste en pasar todos
los discos de la varilla ocupada a una de las varillas libres.
Reglas:
- Sólo se puede mover un disco cada vez.
- Un disco de mayor tamaño no se puede colocar encima de uno más pequeño.
- Sólo se puede mover el disco que se encuentre en la parte superior de cada varilla.
Código
#include <conio.h> #include <iostream> using namespace std; void torres_foca(int,int,int,int); main(){ int a; cout<<"Torres de Hanoi\n\n"<<endl; cout<<"Ingresa el numero de discos : \t"; cin>>a; torres_foca(a,1,3,2); getch(); } void torres_foca(int foca,int uno,int tres,int dos){ if(foca==1){ cout<<"Disco : "<<foca<<" del poste "<<uno<<" al poste "<<tres<<endl; getch(); } else{ torres_foca(foca-1,uno,dos,tres); cout<<"Disco : "<<foca<<" del poste "<<uno<<" al poste "<<tres<<endl; getch(); torres_foca(foca-1,dos,tres,uno); } }
0 comentarios: