題目描述
問題描述題解:有一長度為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
其實就是給定乙個整數,求出這個數能被1、2兩個數組成的個數,**思路:**遞迴,當**:tmp >= n
就表示不要繼續加了,其中如果有tmp == n
就方法總數加1。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const ll inf = 0x3f3f3f3f3f3f3f3f;
const double pi = acos(-1.0);
const double e = exp(1.0);
const int mod = 1e9+7;
const int max = 1e5+5;
int n;
int sum = 0;
void func(int tmp)
func(tmp+1);
func(tmp+2);
}int main()
藍橋杯VIP試題 演算法訓練 瓷磚鋪放
資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 有一長度為n 1 10 的地板,給定兩種不同瓷磚 一種長度為1,另一種長度為2,數目不限。要將這個長度為n的地板鋪滿,一共有多少種不同的鋪法?例如,長度為4的地面一共有如下5種鋪法 4 1 1 1 1 4 2 1 1 4 1 2 1...
藍橋杯 演算法訓練 瓷磚鋪放
有一長度為n 1 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 程式設計用遞迴的方法求解上述問題。in...
藍橋杯 演算法訓練 瓷磚鋪放
問題描述 有一長度為n 1 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 程式設計用遞迴的方法求解上述...