//
// main.c
// 杭州电子科技大学
//
// Created by yonuyeung on 2021/10/20.
//经过分析可知,该题涉及递推,其递推关系式为Tn=2*(T(n-1)+T(n-2))
#include<stdio.h>
int main()
{
int n;
long long a[45]={0,3,8};
for(int i=3;i<45;i++)
{
a[i]=2*(a[i-1]+a[i-2]);
}
while(scanf("%d",&n)!=EOF)
{
printf("%lld\n",a[n]);
}
return 0;
}
怎么推出这个关系式的呢?
当n=1时,a=3;
当n=2时,a=8;
当n=3时,
①若第三位为“O”,则第二位只能为“E”或者是“F”,所以可能的情况为a[1]*2*1
②若第三位不为“O”,所以可能的情况为a[2]*2
总数为2*(a[i-1]+a[i-2])
所以一般的关系式为:Tn=2*(T(n-1)+T(n-2))