蓝桥杯题_ALGO11_瓷砖铺放
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯题_ALGO11_瓷砖铺放
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
有一長度為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,代表地板的長度
輸出格式
輸出一個數,代表所有不同的瓷磚鋪放方法的總數
樣例輸入
4
樣例輸出
END
有一長度為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,代表地板的長度
輸出格式
輸出一個數,代表所有不同的瓷磚鋪放方法的總數
樣例輸入
4
樣例輸出
5
這個題目使用遞歸來解決,那么我們就要知道是怎么遞歸的,個人建議自己多寫幾個例子,很容易就可以找到規律。
代碼如下:
#include<iostream> using namespace std; int pave(int n) {if(n==1){return 1;}else if(n==2){return 2;}elsereturn pave(n-1)+pave(n-2); } int main() {int n;int result = 0;cin>>n;result = pave(n);cout<<result;return 0; }END
總結
以上是生活随笔為你收集整理的蓝桥杯题_ALGO11_瓷砖铺放的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝桥杯_算法训练_ALGO12_摆动序列
- 下一篇: 算法训练_ALGO14_回文数