題目描述
小明最近新買了一個房間烂琴,為了給它做裝修,想要給它鋪上地磚蜕乡。然而現(xiàn)有的地磚只有兩種規(guī)格分別為1米1米奸绷、2米2米,由于小明買的房間有點小层玲,寬度只有3米号醉,長度為N米。當然這樣一個房間也足夠他自己一個人住了辛块。那么如果要給這個房間鋪設(shè)地磚畔派,且只用以上這兩種規(guī)格的地磚,請問有幾種鋪設(shè)方案润绵。
輸入
輸入的第一行是一個正整數(shù)C线椰,表示有C組測試數(shù)據(jù)。接下來C行尘盼,每行輸入一個正整數(shù)n(1<=n<=30)士嚎,表示房間的長度。
輸出
對于每組輸入悔叽,請輸出鋪設(shè)地磚的方案數(shù)目莱衩。
遞推公式為fun(n-1)+2*fun(n-2)
代碼如下
#include<iostream>
using namespace std;
int fun(int n)
{
if(n==1)
return 1;
if(n==2)
return 3;
else
return fun(n-1)+2*fun(n-2);
}
int main()
{
int C;
cout<<"請輸入需要的數(shù)據(jù)總量"<<endl;
cin>>C;
for(int i=0;i<C;i++)
{
int n;
cout<<"請輸入房間長度n,還剩"<<C-i<<"次輸入"<<endl;
while(cin>>n,n>20)
{
cout<<"請重新輸入n"<<endl;
}
cout<<fun(n)<<endl;
}
}