#include<stdio.h>
int i = 1;//定义全局变量,每次调用后加1
int sum=0;
int Hanoi(int n, char A, char B, char C)
{
if (n == 1)//如果只有一个直接从A移到B "%2d-(%2d):%c==>%c\n"
{
sum++;
}
else
{
Hanoi(n - 1, A, C, B);//把n - 1个从A移到C借助B
sum++;
Hanoi(n - 1, B, A, C);//把n - 1个从C移到B借助B
}
return sum;
}
int main()
{
int n;
char A = 'A'; //定义ABC表示三个柱子
char B = 'B';
char C = 'C';
scanf("%d", &n);
printf("%d",Hanoi(n, A, B, C));
return 0;
}
/**************************************************************
Problem: 1223
User: admin
Language: C
Result: Accepted
Time:8 ms
Memory:1144 kb
****************************************************************/