voidHannuota( int n, char A, char B, char C ) { if( n == 1 ) { printf("将编号为%d的盘子从%c直接移到%c上\n", n, A, C); } else { Hannuota( n - 1, A, C, B ); printf("将编号为%d的盘子从%c直接移到%c上\n", n, A, C); Hannuota( n - 1, B, A, C ); } }
Tip
void Hannuota( int n, char A, char B, char C ); 在这里,A、B、C仅仅是参数名字,并不是代表从A借助B移到C,因为递归过程中会出现从B借助A移到C的情况。