Last active
December 7, 2023 03:47
-
-
Save talespadua/6303251 to your computer and use it in GitHub Desktop.
Algorítimo para resolver a torre de Hanoi escrito em C, usando recursão.
Hanoi tower algorithm, written in C, using recursion.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
void hanoi(int n,char origem,char destino,char auxiliar){ | |
/*Se sobrar apenas o disco 1, mova fazer o movimento e retornar*/ | |
if(n==1){ | |
printf("\nMova o disco 1 da base %c para a base %c",origem ,destino); | |
return; | |
} | |
/*Mover o n-1 disco de A para B, usando C de auxiliar*/ | |
hanoi(n-1,origem,auxiliar,destino); | |
/* Mover os discos restantes de A para C*/ | |
printf("\nMova o disco %d da base %c para a base %c",n,origem,destino); | |
/*Mover os n-1 discos de B para C usando A como auxiliar*/ | |
hanoi(n-1,auxiliar,destino,origem); | |
} | |
main(){ | |
int n; | |
printf("Digite o numero de discos : "); | |
scanf("%d",&n); | |
printf("Para resolver a torre de Hanois faça :\n\n"); | |
hanoi(n,'A','C','B'); | |
printf("\n"); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment