#include void move(unsigned src, unsigned spare, unsigned dst, unsigned n) { if (n == 0) { return; } move(src, dst, spare, n - 1); printf("%u->%u\n", src, dst); move(spare, src, dst, n - 1); } void hanoi(unsigned n) { if (n == 0) { return; } move(1, 2, 3, n); } int main(void) { hanoi(3); return 0; }