1.实验题目
有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?
例如,长度为4的地面一共有如下5种铺法:
4=1+1+1+1
4=2+1+1
4=1+2+1
4=1+1+2
4=2+2
2.需求分析
本演示程序用dev-c++编写,计算出需要的地板数量。
① 输入的形式和输入值的范围:只有一个数N,代表地板的长度。
② 输出的形式: 输出一个数,代表所有不同的瓷砖铺放方法的总数。
③ 程序所能达到的功能:利用for循环判断是否符合要求。
④ 测试数据:4
3.概要设计
为实现上述程序功能,利用for循环。
4.详细设计
#include <iostream>
using namespace std;
int main()
{
int a[100];
int n;
cin >> n;
a[0]=1; a[1]=1;
for(int i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];
cout << a[n]<<"\n";
}
5.使用说明
本演示程序用dev-c++编写,a[i]表示长度为i的铺放方法,显然a[i]等于第i长度放长度为1的放法加上长度为2的放法。
6. 测试结果