题目如图
分析可得通项公式:f(n) = f(n-1) + f(n-2);(n>2)
由此写出算法
#include "stdafx.h"
#include"stdlib.h"
int digui(int n){
int num = 0;
if (n == 1){
num = 1;
}
if (n == 2){
num = 2;
}
if (n>2)
num = digui(n - 1) + digui(n - 2);
return num;
}
int _tmain(int argc, _TCHAR* argv[])
{
int n,num;
printf("输入要铺设的长度:");
scanf("%d", &n);
num = digui(n);
printf("共有%d种方法\n", num);
system("pause");
return 0;
}
测试结果