题目描述
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
输入
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=40)。
输出
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
样例输入
1
3
2
样例输出
1
3
2
程序如下:
#include <iostream> using namespace std; int p(int n); int main(){ long str[41] ; str[1]=1; str[2]=2; int n; for(int i=3;i<=40;i++){ str[i]=str[i-1]+str[i-2]; } while(cin>>n&&n>0&&n<=40){ cout<<str[n]<<endl; }
return 0; }