簡單遞迴題目分析與解答

2021-09-05 11:35:34 字數 1092 閱讀 9411

1.放蘋果:把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法(用k表示)?注意:5,1,1和1,5,1 是同一種分法。

輸入:第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數m和n,以空格分開。1<=m,n<=10。

輸出:對輸入的每組資料m和n,用一行輸出相應的k。

樣例輸入:

17 3

樣例輸出:

8

int ways (

int m,

int n)

//m:蘋果數 n: 盤子數

2.二叉樹:

圖8-1 滿二叉樹

如圖8-1所示,由正整數1, 2, 3, …組成了一棵無限大的二叉樹。從某乙個結點到根結點(編號是1的結點)都有一條唯一的路徑,比如從10到根結點的路徑是(10, 5, 2, 1),從4到根結點的路徑是(4, 2, 1),從根結點1到根結點的路徑上只包含乙個結點1,因此路徑就是(1)。對於兩個結點x和y,假設他們到根結點的路徑分別是(x1, x2, … ,1)和(y1, y2, … ,1)(這裡顯然有x = x1,y = y1),那麼必然存在兩個正整數i和j,使得從xi 和 yj開始,有xi = yj , xi + 1 = yj + 1, xi + 2 = yj + 2,… 現在的問題就是,給定x和y,要求xi(也就是yj)。

輸入:輸入只有一行,包括兩個正整數x和y,這兩個正整數都不大於1000。

輸出:輸出只有乙個正整數xi。

樣例輸入:

10 4

樣例輸出:

2

int f (

int x,

int y)

輸入檔案中有很多行,每行是乙個測試資料,只包含乙個正整數n。要求計算出對應的走法並輸出,每個結果佔一行。

sample input13

12sample output13

233

intw(

int n)

未完待續…

遞迴的幾個簡單題目

1 描述 如上圖所示,由正整數1,2,3,組成了一棵無限大的二叉樹。從某乙個結點到根結點 編號是1的結點 都有一條唯一的路徑,比如從10到根結點的路徑是 10,5,2,1 從4到根結點的路徑是 4,2,1 從根結點1到根結點的路徑上只包含乙個結點1,因此路徑就是 1 對於兩個結點x和y,假設他們到根...

題目 1004 遞迴 母牛的故事 簡單遞迴演算法

題目 1004 遞迴 母牛的故事 時間限制 1sec 記憶體限制 128mb 提交 61799 解決 19025 題目描述 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入輸入資料由多個測試例項組成,每個測試例...

關於遞迴的簡單分析

遞迴 是一種分析 解決問題的思想 遞迴的基本概念 1了解分治的思想 將乙個難以解決的大問題分割成一些規模較小的相同問題,以便各個擊破,分而治之。如果原問題可以分割成k個子問題,1 2分治法產生的子問題往往是原問題的較小模式,在這種情況下反覆使用分支手段,使子問題與原問題型別一致而起規模不斷縮小,最終...