此题与求"一枚均匀的硬币掷10次,问不连续出现正面的可能情形"相似,都是斐波那契数列的应用。画下树状图会发现a[n]=a[n-1]+a[n-2]的形式,也可以直接找规律。
0->0 1->2 2->3 3->5 4->8
#include<stdio.h>
int main()
{
int a[41]={0,2,3};
for (int i = 3; i < 41; i++)
{
a[i] = a[i - 1] + a[i - 2];
}
int n;
scanf("%d", &n);
for (int i=0;i<n;i++)
{
int k;
scanf("%d", &k);
printf("Scenario #%d:\n%d\n\n", i+1, a[k]);
}
return 0;
}