#include <stdio.h> #include <stdlib.h> #include <string.h> int c=0; void hanoi(int n,char x,char y,char z); void move(char x,int n,char z); int main() { int n; while(scanf("%d",&n)==1) { hanoi(n,'X','Y','Z'); printf("\n"); c=0; } return 0; } void hanoi(int n,char x,char y,char z) { if(n==1) move(x,1,z); else { hanoi(n-1,x,z,y); move(x,n,z); hanoi(n-1,y,x,z); } } void move(char x,int n,char z) { printf("%2d. Move disk %d from %c to %c\n",++c,n,x,z); } /************************************************************** Problem: 2146 User: admin Language: C Result: Accepted Time:14 ms Memory:1144 kb ****************************************************************/