鋪瓷磚(下樓梯)問題_遞歸思想

原題出自於Tsinsen:

問題描述
  有一長度爲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 put(int n){
	if (n==1||n==0)return 1;
	return put(n-1) + put(n-2); 
}
int main(){
	int n;
	cin>>n;
	cout<<put(n)<<endl; 
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章