Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Algoritmo gerador das soluções do jogo Torres de Hanoi.
- O problema das Torres de Hanoi apareceu na Europa no século XIX. Consiste em três hastes verticais (esquerda, meio e direita). Na haste da esquerda estão empilhados vários discos de diâmetro decrescente. Pretende-se mover os discos, um a um, da haste da esquerda para a haste da direita, usando a haste do meio como auxiliar, de forma que, em qualquer movimento, nunca fique um disco de diâmetro maior sobre outro de diâmetro menor. */
- // Apple Xcode
- #include <stdio.h>
- void func_output_mov(int the_ini, int the_fin)
- {
- // movimento dos discos
- char the_haste[3][15] = {"da esquerda", "do meio", "da direita"};
- printf("mover disco da haste %s para a haste %s\n", the_haste[the_ini], the_haste[the_fin]);
- }
- void func_mov(int the_k, int the_ini, int the_fin, int the_aux)
- {
- // funcao recursiva das torres de hanoi para k discos e hastes
- if (the_k > 0)
- {
- func_mov(the_k - 1, the_ini, the_aux, the_fin);
- func_output_mov(the_ini, the_fin);
- func_mov(the_k - 1, the_aux, the_fin, the_ini);
- }
- }
- int main (int argc, const char * argv[])
- {
- // torres de hanoi
- int the_n;
- printf("N de discos: ");
- scanf("%d", &the_n);
- // parametros iniciais
- func_mov(the_n, 0, 2, 1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement