#include <iostream>
#include <cstdio>
using namespace std;
long long Func(int x){
if (x == 1){
return 2;//return 1 原汉诺塔
}else {
return 3* Func(x - 1) + 2;//2* Func(x -1) + 1原汉诺塔 把n-1个移到中间Func(n-1)次 把柱1底部
//移到柱3用1次,再把柱二的n-1个移到柱3用Func(n-1)次 共2*Func(n-1)+1
}
}
int main(){
int x;
while(scanf("%d",&x) !=EOF){
printf("%lld\n",Func(x));
}
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交