lunes, 27 de agosto de 2012

Recursividad Torres de Hanoi C++

Problema:
Dadas tres varas y un numero N de discos predispuestos de forma ascendente desde el tope de la varilla se quiere pasar todos los discos desde la primera varilla hasta la tercera de manera que en ningun momento quede algun disco pequeño debajo de uno mas grande que el mismo

Solucion:
#include <iostream>
using namespace std;

void hanoi(char a, char b, char c, int n){
    if(n==1) cout << "Mover disco " << n << " desde " << a << " hasta " << c <<endl;
    else{
        hanoi(a, c, b, n-1);
        cout << "Mover disco " << n << " desde " << a << " hasta " << c <<endl;
        hanoi(b, a, c, n-1);
    }
}

int main(){
    char a = 'A', b = 'B', c = 'C';
    int n;

    cin >> n;
    hanoi(a, b, c, n);

    return 0;
}

1 comentario:

  1. 888 casino review - JeTHub
    888 casino review 동두천 출장안마 ✓ A complete review of 888 casino 상주 출장샵 including bonuses, customer support, payment methods, complaints, games selection,  청주 출장안마 Rating: 3.9 · 광명 출장마사지 ‎Review by PJ Marshall 천안 출장안마

    ResponderEliminar