原題鏈接:點擊打開鏈接
現在有一個大小n*1的收納盒,我們手裏有無數個大小爲1*1和2*1的小方塊,我們需要用這些方塊填滿收納盒,請問我們有多少種不同的方法填滿這個收納盒
輸入描述:
第一行是樣例數T 第2到2+T-1行每行有一個整數n(n<=80),描述每個樣例中的n。
輸出描述:
對於每個樣例輸出對應的方法數
輸入
3 1 2 4
輸出
1 2 5
說明
n=4,有五種方法 1:1 1 1 1 2:2 1 1 3:1 2 1 4:1 1 2 5:2 2
解題思路:這是一道Fibonacci的變形體。不知道Fibonacci的點擊瞭解
源代碼:
#include<cstdio>
int main()
{
long long n,t,a[105];
a[1]=1;
a[2]=2;
for(int i=3;i<=82;i++)
{
a[i]=a[i-1]+a[i-2];
}
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
printf("%lld\n",a[n]);
}
return 0;
}