官术网_书友最值得收藏!

1.3 遞歸算法

小游戲:漢諾塔或梵塔問(wèn)題。

有3個(gè)基座A、B、C,開始時(shí)A基座上有n個(gè)大小不同的盤子,大盤子在下、小盤子在上疊在一起,問(wèn):要把A基座上的n個(gè)盤子移到C基座上,每次只能移動(dòng)一個(gè),并且移動(dòng)過(guò)程中始終保持大盤子在下、小盤子在上,能做到嗎?如能做到,要移動(dòng)幾次?

(1)設(shè)n個(gè)大小不同的盤子按規(guī)則移動(dòng),需要移動(dòng)fn)次,請(qǐng)動(dòng)手做一做,算出以下答案。

f(1)=   f(2)=   f(3)=   f(4)=

(2)試猜想fn)=2fn-1)+1是否成立?fn)=2n?1是否成立?

證明:

所以,{fn)+1}構(gòu)成一個(gè)等比數(shù)列,首項(xiàng)為 f(1)+1=2,公比為2,則

fn)+1=2×2n?1=2n,即 fn)=2n?1。

(3)解決這個(gè)問(wèn)題能否由計(jì)算機(jī)實(shí)現(xiàn)?過(guò)程怎樣?——可用遞歸算法編程實(shí)現(xiàn)。

主站蜘蛛池模板: 精河县| 台湾省| 读书| 共和县| 司法| 辛集市| 舟山市| 原阳县| 汶川县| 吴堡县| 屏东市| 延边| 阜新市| 黑山县| 固阳县| 梓潼县| 城固县| 旺苍县| 嘉兴市| 吉林市| 江达县| 南川市| 法库县| 阿图什市| 万州区| 泊头市| 丰台区| 永福县| 泌阳县| 田东县| 正阳县| 新疆| 昭觉县| 潜山县| 凯里市| 靖安县| 武邑县| 定南县| 广河县| 河东区| 望奎县|