ALGO-11_蓝桥杯_算法训练_瓷砖铺放(递归)

问题描述
  有一长度为N(<=N<=)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?
  例如,长度为4的地面一共有如下5种铺法:
  =+++
  =++
  =++
  =++
  =+
  编程用递归的方法求解上述问题。
输入格式
  只有一个数N,代表地板的长度
输出格式
  输出一个数,代表所有不同的瓷砖铺放方法的总数
样例输入 样例输出

AC代码:

 #include <stdio.h>

 int n;
int count = ; void dfs(int step,int sum)
{
int i;
if (sum == n)
{
count ++;
return ;
} if (step > n)
return ; for (i = ; i <= ; i ++)
{
dfs(step+,sum+i);
} return ;
} int main(void)
{
scanf("%d",&n);
dfs(,);
printf("%d",count);
return ;
}
上一篇:李洪强iOS开发Swift篇—04_运算符


下一篇:yum 卸载 && Centos Java 从1.7升级为1.8