Tower of Hanoi
CloudCoder link
#include <stdio.h>
void moveDisk(char* from, char* to) {
printf(" Move top disk from tower %s to tower %s\n", from, to);
}
void TowersOfHanoi(int n, char* from, char* to, char* temp) {
// Move top n disks from tower "from" to tower "to",
// use tower "temp" for intermediate storage.
if (n > 0) {
TowersOfHanoi(n - 1, from, temp, to); // recursion
moveDisk(from, to);
// Move n-1 disks from temp to the destination
TowersOfHanoi(n - 1, temp, to, from); // recursion
}
}
int main() {
TowersOfHanoi(3, "Tower1", "Tower2", "Inter");
return 0;
}Diagrammatic representation
Visualize it!
Play with the code!
Virtually play Tower of Hanoi
Last updated