遞迴方法
曾俊雄/建國高中
前言:
95 學年度普通高級中學數學課程綱要中,『遞迴關係』將從現行的數列級數單元(第 一學年第三章)移往排列組合單元(第二學年第五章)。為因應這樣的變化,許多老師 關心用什麼例子引入遞迴關係?在此提供筆者編寫給建中數理資優班有關『遞迴方 法』這一單元的上課講義與大家分享。
內容大綱為:
第一節 遞迴方法簡介
第二節 簡易遞迴數列的解法 第三節 生成函數解法
第一節 遞迴方法簡介:
一、遞迴方法的介紹
某些與自然數有關的問題,往往隱含固定的規律,處理這一類的問題通常分成三個步驟:
(1) 依據題設條件構造一個數列 an
(2) 建立相鄰項間的遞迴關係(亦稱為遞迴方程式) (3) 解遞迴方程式,求出一般項an (用n表示)
此種處理問題的方法叫做遞迴方法。簡單的說:遞迴方法就是構造遞推式的解題法。
我們先透過有趣的問題來引介 (1) 如何構造一個數列 an (2) 如何建立遞迴關係式
至於如何求解“遞迴數列“?較簡單的,可用 觀察 歸納 猜想 證明
的模式去處理。一般遞迴數列的解法將安排在第二節以後陸續介紹。
[例題1]用12的拼片(可橫放或直放) 拼2n的棋盤,假設拼好2n的棋盤,有an種方法。
(1)試建立an遞迴關係式。
(2) 用12的拼片(可橫放或直放) 拼210的棋盤的方法有幾種?
[解答]:
(1)我們從左上角開始拼,假設拼好2n的棋盤,有an種方法。
第一塊可以放直的或是橫的。
設第一塊是放直的,則剩下是2(n1)的棋盤,有an1種方法。
若第一塊是放橫的,則下方一塊勢必也是要橫的﹔此時剩下是2(n2)的棋盤,有an2 種方法。
因此得到的遞迴關係式為 an an1an2,nN 。 (2)由an的意義知a1 1,a2 2。可推得a10 = 89
[練習題]
一至二樓有8級樓梯,某人上樓,每次可跨1級或2級,假設爬n級樓梯的方法有an種方法。
(1)試建立an遞迴關係式。
(2)不同上樓的方法有 種。
【解答】(1)an an1an2,nN 。(2)34 [例題2](兔子問題)
義大利數學家費布納西(Fibonacci,1170~1250)曾經提出一個有趣的問題:一對兔子出生後,
兩個月就能生小兔子,以後每個月都恰好生一對小兔子(一雌一雄),開始時假如養了初生的 小兔子一對,試問一年後共有幾對兔子?(假設生下的兔子都不會死)
[解答]:
(1)構造數列<Fn>,設經過n個月後兔子的數目有Fn對。列表計算並仔細觀察、歸納:
第n個月 一 二 三 四 五 六 七 八 … 大兔對數 1 1 1 1 2 3 5 8
小兔對數 0 0 1 2 3 5 8 13 總對數Fn 1 1 2 3 5 8 13 21 說明:能生小兔的稱為大兔。
(2)建立遞迴關係式:
n個月後兔子的數目有Fn對是由兩部分構成:
第n1個月開始時的兔子對數Fn1,
第n2個月開始時的兔子對數Fn2。
¤j
¤j
¤j
¤p
¤j
¤p
¤p ¤p
¤p
¤p
¤p
¤p
1 1 2 3 5 ….
所以Fn Fn1Fn2,(n3)
(3)由
n n
n F F
F
F F
1 2
2
1 1
,可推得數列<Fn>:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
,
所以 F12 = 144。(註)Fn的一般項表達式將在第二節介紹。
棣美弗(de Moivre.法1667-1754)給出<Fn>的一般項表達式:
Fn = [()n()n]。
而數列<Fn>:1,1,2,3,5,8,13,21,34,55,………稱為費氏數列。
[練習題]
試用(第二)數學歸納法原理證明:Fn = [()n()n] 對一切自然數n都成立。
[例題3](河內塔問題)
相傳在創世紀時代,河內(Hanoi)的一座寺廟裡豎立者三根銀棒,有六十四個大小都不同的金 盤(金盤正中央有一小孔)”大盤在下,小盤在上”依序套在同一根銀棒上。造物主命僧侶把64 個金盤全部移到另一根銀棒上,並且規定:每依次只能移動一個金盤,在移動的過程中,較 大的金盤不可套在較少的金盤上。當金盤全數搬完,世界末日將降臨,忠誠者得到好報,不 忠者受到懲罰。試問搬完64個金盤最少需多少次?
[解答]:
(1)構造數列<an>,假設an代表搬完n個金盤所需的最少次數,列表計算,並仔細觀察、歸
納:
金盤數n 1 2 3 4 5 6 … 次數
a
n 1 3 7 15 31 63
(2)建立遞迴關係式:
如圖所示,根據搬動的規則,
先將A棒上面n1個金盤先搬到銀棒B上,則需要搬動an1次。
再將A棒上面最底的第n個金盤搬到銀棒C上,則需要搬動1次。
最後再將B棒上的n1個金盤搬到銀棒C上,則亦需要搬動an1次。
所以合計搬完n個金盤所需的最少次數
1
1 1
n n
n a a
a 2an1 1。
因a1 1,得a2 3221,a3 7231, 1
2 15 4
4
a ,…利用數學歸納法可證明 N
n
an 2n 1, 。 所以a64 2641。
(註)這項任務並不簡單,如果搬動一個金盤平均花掉一秒,那麼搬完64個金盤需 2641=18,446,744,073,709,551,61599秒 > 5840億年
即1秒鐘搬一個,日夜不停地工作,要完成造物主交代的任務,所需時間超過5840億年,世 界末日遙遙無期。但終將來臨!諸惡莫作,眾善奉行,切記!切記!
[練習題]
利用數學歸納法證明:an 2n 1對一切自然數n都成立。
[例題4](雪花-碎片)
設ABC是邊長為1的等邊三角形。將三邊分別三等分,取中間段為一邊向外側做正三角形 並且將中間這一段擦去,其次將剩下的每一邊再三等分,取中間段為一邊向外做正三角形,
再將中間這段擦去。仿此程序繼續做下去,得一系列的碎形。求(1)第6次之碎形的周長。(2)第 n次碎形的周長。
[解答]:
(1)構造數列
a
n
。設a
n 表第n個碎形的周長列表計算並仔細觀察、歸納:
第n個碎形 1 2 3 4 … … 周長
a
n 3 43 16
9 64
(2)建立遞迴關係式:
由 a1=3,a2= 4 (初始值)
又 第n+1個碎形的周長 = 第n個碎形的周長去掉每一邊的中間段,再增加中間段的 2倍。
得 an+1 = an an + an = an
(3)求解an:
由(2)知
a
n
為一等比數列,首項a1=3,公比r = 所以an = 3()n1 a6= 。[練習題]
設ABC是邊長為1的“直立”三角形,取三邊中點並兩兩連線,將ABC的面積四等分,得到 三個“直立”正三角形,和一個“倒立”正三角形(即圖中的陰影區),將“倒立”正三角形移走。
其次將剩下的三個“直立”正三角形,依照相同的方法分割,並移去其中的“倒立”正三角形,
.
設第n次移走“倒立”正三角形後,所剩下的面積是Sn。 (1) 以遞迴的方式定義Sn。 (2) 求S5。[解答]:(1)
16 3 3
1
S ,Sn Sn ,n2,nN 4
3
1 (2) 3 0.10276
4096 243
5
S
像兔子問題(例2),河內塔問題(例3)及碎形周長問題(例4),如果一個接一個,一項一項去推算,
就像步入迷宮,岔路越來越多,不知所終。我們所採用的方法是 (1)依題意去構造一個數列<an>
(2)確定(觀察)數列的前幾項值(初始值) (3)建立遞迴關係式
然後再去求解
a
n ,這種處理問題的方法叫做遞迴方法,它常用在計算機科學,離散數學,遊戲……等許多領域。
習 題 一
1.一個邊長為n的大正方形中,共有n2個單位正方形,如果每一個單位正方形的邊都恰有一根火柴棒,
而此大正方形共用了an根火柴棒,那麼an+1-an= 。
2.設平面上的n條直線最多可把平面分割成an個區域。
(1) 試求出a1 , a2 , a3 。
(2) 以遞迴的方式定義出an。
(3) 試證an 2
2n2
n ,n1。
3.設平面上經過一個定點的n個圓,最多能將平面分成an個部分。
(1) 試求出a1 , a2 , a3 , a4。
(2) 以遞迴的方式定義出an 。
(3) 試證an 2
2n2
n ,n1。
4.如圖,A柱中有n個大小不同的圓盤由大而小往上堆疊,若要 從A柱全部搬移至B柱,每次只能搬動一圓盤,且每次都必 須先經中間柱(不可由A直接放入B)且大盤不可放在小盤 之上,設共要搬動an次,若an 1 pan k,求p,k。
5.將1元、 2元、3元、4元四種郵票貼成一排,共貼 8元,問有幾種不同的貼法。
[提示:設貼成n元時有an種方法,找出
a
n
的初始條件及遞迴關係。]6.用紅、白、藍三色將1n棋盤上的方格塗色,對於n1,2,3,,令an表示沒有兩相鄰方格都塗紅色 的個數,求an所滿足的遞迴關係式。
7.(著色問題)地圖上某一地區有
n
個國家相鄰,但n
個國家只有一個公共 點(如圖)。現用紅,黃,綠三種顏色給地圖染色,但使相鄰的國家顏色不同。
令an表示滿足上述染色規則的方法數,求an所滿足的遞迴關係式。
8.(巴拿赫火柴問題)
有n根火柴,甲、乙兩人輪流取,每次只能取1根或2根。令an表示n根火柴,由甲先取並且輪到甲 取光的方法數,求an所滿足的遞迴關係式。
Sn S1 S2 S3
Sn-1