利用递归解决汉诺塔问题,递归算法有递归边界条件和递归部分的递归体(递归方程)两要素。
递归部分是hanoi这个函数,当不满足if(n>0)时会退出
#include<stdio.h>
void hanoi(int n,char a,char b,char c){
if(n>0){
hanoi(n-1,a,c,b);
printf("%c->%c\n",a,c);
hanoi(n-1,b,a,c);
}
}
int main(){
int n;
scanf("%d",&n);
char a='A',b='B',c='C';
hanoi(n,'A','B','C');
return 0;
}