在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
Sample Input
1
3
2
Sample Output
1
3
2
问题简述:
给出长方体的数量,用相同形状的长方形能有多少种摆法。
问题分析:
列举法发现后一个是前两个的和。
程序说明:
使用64位
AC的C++程序如下
#include<iostream>
using namespace std;
int main()
{
__int64 n,m;
__int64 a[50];
a[0] = 1; a[1] = 2;
for (int i = 2; i < 50; i++)
a[i] = a[i - 1] + a[i - 2];
while (cin >> n)
{
if (n == 1)cout << a[0]<<endl;
if (n == 2)cout << a[1]<<endl;
if(n>2)cout << a[n-3]+a[n-2] << endl;
}
return 0;
}