“小明爬樓梯”問題

問題來源

可愛的小明特別喜歡爬樓梯柿究,他有的時候一次爬一個臺階,有的時候一次爬兩個臺階懦尝,有的時候一次爬三個臺階。如果這個樓梯有36個臺階壤圃,小明一共有多少種爬法呢陵霉?

這是典型的遞歸問題:小明爬到第36個臺階,可以從第35個臺階再爬1階上去伍绳;可以從第34個臺階再爬2階上去踊挠,也可以從第33個臺階再爬3階上去——所以,他爬36階可選擇的爬法的數(shù)目相當(dāng)于冲杀,爬35效床、34、33階可選擇的爬法的總數(shù)目权谁,而爬35剩檀、34、33階各自可選擇的爬法的數(shù)目旺芽,又可以像這樣計算沪猴,直到回到最簡單的爬3、2采章、1階可選擇的爬法的數(shù)目(依次是4種运嗜、2種和1種)。

于是我們得到答案:小明這樣爬36個臺階悯舟,一共有2082876103種爬法担租。

下面是解決該問題的一份C程序代碼:

#include<stdio.h>
int f(int n){
    switch(n){
        case 1:
            return 1;
        case 2:
            return 2;
        case 3:
            return 4;
        default:
            return f(n-1)+f(n-2)+f(n-3);
    }
}
int main(){
    printf("%d\n",f(36));
    return 0;
}

它雖然很直觀,但速度卻比較慢抵怎。

于是再提供一份相對復(fù)雜翩活,但更快的C程序代碼:

#include<stdio.h>
long f(int n){
    n++;
    int i;
    long table[n];
    for(i=0;i<n;i++){
        table[i]=0;
    }
    table[1]=1;
    table[2]=2;
    table[3]=4;
    for(i=4;i<n;i++){
        table[i]=table[i-1]+table[i-2]+table[i-3];
    }
    return table[n-1];
}
int main(){
    printf("%d\n",f(36));
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阱洪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子菠镇,更是在濱河造成了極大的恐慌冗荸,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件利耍,死亡現(xiàn)場離奇詭異蚌本,居然都是意外死亡,警方通過查閱死者的電腦和手機隘梨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門程癌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轴猎,你說我怎么就攤上這事嵌莉。” “怎么了捻脖?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵锐峭,是天一觀的道長。 經(jīng)常有香客問我可婶,道長沿癞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任矛渴,我火速辦了婚禮椎扬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘具温。我一直安慰自己蚕涤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布铣猩。 她就那樣靜靜地躺著揖铜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剂习。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天较沪,我揣著相機與錄音鳞绕,去河邊找鬼。 笑死尸曼,一個胖子當(dāng)著我的面吹牛们何,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播控轿,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼冤竹,長吁一口氣:“原來是場噩夢啊……” “哼拂封!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鹦蠕,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冒签,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钟病,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體萧恕,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年肠阱,在試婚紗的時候發(fā)現(xiàn)自己被綠了票唆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡屹徘,死狀恐怖走趋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情噪伊,我是刑警寧澤簿煌,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站酥宴,受9級特大地震影響啦吧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拙寡,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一授滓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肆糕,春花似錦般堆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至始赎,卻和暖如春和橙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背造垛。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工魔招, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人五辽。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓办斑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乡翅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 硬派健身 摘要 自序 與更好的自己鳞疲,在未來重逢。 2016-10-11 13:34:10 是誰說運動一定要持續(xù)40...
    夜上海灘閱讀 10,012評論 0 50
  • 家有三姐一枚蠕蚜,懂頭發(fā)懂衣服懂化妝尚洽,只是不太懂做飯。去年來京后波势,不太懂做飯的三姐翎朱,碰到了這個真的不懂做飯的我,于...
    饕餮寶貝閱讀 193評論 0 0
  • 遇見·陪伴·選擇 我不知道接下來還會有怎樣的主題尺铣,但我知道每一期我都有幸能找到某種共鳴~ 每一期節(jié)目都有淚目的時候...
    一根藍(lán)色骨頭閱讀 211評論 0 0
  • 文/風(fēng)中的柳絮 一拴曲、主題中心(也就是樹桿)必須先明確。 1凛忿、設(shè)計一件事件發(fā)生澈灼,圍繞此事進行一系列展開。 切入點:可...
    我家大壞蛋閱讀 442評論 0 3
  • 我搬到滿天星生活已經(jīng)有半個月了,剛來時是三月初床牧,還有些冷荣回,這幾天明顯氣溫變暖,前兩天還看到路邊的小草冒出了頭戈咳,...
    煙然s閱讀 445評論 3 5