#include #include void hanoi(char from, char to, int disks) { char third = ('a' + 'b' + 'c') - from - to; if (disks == 1) { printf("%c -> %c\n", from, to); } else { hanoi(from, third, disks - 1); printf("%c -> %c\n", from, to); hanoi(third, to, disks - 1); } } int main(int argc, char **argv) { if (argc != 4) { printf("Usage: %s \n", argv[0]); return 1; } char from = argv[1][0]; char to = argv[2][0]; int disks = atoi(argv[3]); hanoi(from, to, disks); return 0; }