#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;
}
汉诺塔3
最新推荐文章于 2022-11-05 12:05:26 发布