#include <stdio.h>
int a[30];
void f()
{
a[1]=2;
for(int i=2;i<=30;i++)
{
a[i]=3*a[i-1]+2;
}
}
int main()
{
f();
int n;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
int b;
scanf("%d",&b);
printf("%d\n",a[b-1]+2);
}
}
return 0;
}
做过汉诺塔三就能很简单看出来规律http://blog.youkuaiyun.com/as3asddd/article/details/49787367
就是在汉诺塔三移动的中途暂停了两步用来移动大的