思路:
E的后面可以+O /F /E
F。。。。。+O / E /F
O的后面只可以+E /F
给出一段代码纯手动推
#include <iostream>
#include <stdio.h>
using namespace std;
long long E[100];
long long O[100];
long long F[100];
long long num[100];
int main()
{
int n;
E[1]=1;
O[1]=1;
F[1]=1;
num[1]=3;
for(int i=2;i<=40;i++)
{
E[i]=E[i-1]+O[i-1]+F[i-1];
O[i]=E[i-1]+F[i-1];
F[i]=E[i-1]+O[i-1]+F[i-1];
num[i]=E[i]+O[i]+F[i];
}
while(~scanf("%d",&n))
{
cout<<num[n]<<endl;
}
return 0;
}
再化简一下也就是Fn=2Fn-1 +2 Fn-2