测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A52020. 铺砖

填空题 困难

题目描述

铺砖

题目描述

有一长度为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 

编程用递归的方法求解上述问题。 

输入

只有一个数N,代表地板的长度 (1< =N< =10)

输出

输出一个数,代表所有不同的瓷砖铺放方法的总数 

样例输入

4 

样例输出

5

参考答案

#include<bits/stdc++.h> using namespace std; int res(int num) { if (num == 1) return 1; if (num == 2) return 2; return res(num - 1) + res(num - 2); } int main() { int num; cin >> num; cout << res(num) << endl; return 0; }
上一题 下一题