用两个数组保存3和2,然后就容易计算了,记得数组保存要用long long型
#include<iostream>
using namespace std;int main()
{
int n,i;
long long f[60],g[60];
f[2]=2;
g[2]=1;
for(i=3;i<60;i++)
{
f[i]=2*(f[i-1]+g[i-1]);
g[i]=f[i-1];
}
while(cin>>n)
{
if(n==1)
cout<<'3'<<endl;
else
cout<<3*f[n]+2*g[n]<<endl;
}
}