Python編程算法【二】 兔子產(chǎn)子
【案例內(nèi)容】
有一對(duì)兔子,從出生后的第3個(gè)月起每個(gè)月都生一對(duì)兔子。小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子,假設(shè)所有的兔子都不死,問30個(gè)月內(nèi)每個(gè)月的兔子總對(duì)數(shù)為多少?
【解題思路】
根據(jù)題意,第1個(gè)月和第2個(gè)月兔子的總數(shù)都是2對(duì),從第3個(gè)月開始,每個(gè)月又生1對(duì)兔子,也就是第3個(gè)月后2對(duì)兔子(即,第1個(gè)月+第2個(gè)月),那么,第4個(gè)月就是前2個(gè)月的兔子總和,即第2個(gè)月的1對(duì)+第3個(gè)月的2對(duì),總和為3對(duì),以此類推可得出下表:

【Python代碼】
本題其實(shí)是遞歸函數(shù)的一道經(jīng)典算法,利用遞歸可順利解決:


最終,第30個(gè)月后,兔子的總對(duì)數(shù)為83204
標(biāo)簽: