C 爬樓梯,遞迴函式的使用,C 爬樓梯問題

時間 2021-10-14 22:40:20

1樓:華師

(1)首先我們建立一個函式,判斷函式的合法性

[cpp] view plaincopy

void jump_ladder(int layer, int* stack, int* top)

(2)判斷當前的層數是為1或者是否為2

[cpp] view plaincopy

void jump_ladder(int layer, int* stack, int* top)

if(layer == 2)

return;

} (3)對於2中提及的列印函式進行設計,**補全

[cpp] view plaincopy

#define general_print_message(x)\

do while(0)

void printf_layer_one(int layer, int* stack, int* top)

void printf_layer_two(int layer, int* stack, int* top)

注: a)**中我們使用了巨集,注意這是一個do{}while(0)的結構,同時我們對x進行了字串強轉

b)當剩**階為2的時候,此時有兩種情形,要麼一次跳完;要麼分兩次

(4)當階梯不為1或者2的時候,此時需要遞迴處理

[cpp] view plaincopy

void _jump_ladder(int layer, int* stack, int* top, int decrease)

void jump_ladder(int layer, int* stack, int* top)

if(layer == 2)

_jump_ladder(layer- 1, stack, top, 1);

_jump_ladder(layer- 2, stack, top, 2);

} 這裡在函式的結尾新增了一個函式,主要是遞迴的時候需要向堆疊中儲存一些資料,為了**簡練,我們重新定義了一個函式。

總結:1)這道題目和斐波那契數列十分類似,是一道地地道道的遞迴題目

2)遞迴的函式也需要好好測試,使用不當,極容易堆疊溢位或者死迴圈。對此,我們可以按照引數從小到大的順序依次測試,比如說,可以測試樓梯為1、2、3的時候應該怎麼執行,同時手算和程式相結合,不斷修正**,完善**。

2樓:眾裡尋他

遞迴演算法要知道遞迴表示式,爬梯子的遞迴表示式:

f[n] =

1 ; n = 1

2 ; n = 2

f[n-1] + f[n-2] ; n > 2int p(int x)

3樓:昝成秋梵

沒錯啊,我改了之後沒出問題

c語言 用遞迴法寫爬樓梯 一次可以爬一級 可以爬兩級 n級的話有多少種爬樓方法

4樓:手機使用者

#include

void main()

unsigned long count (int n)

5樓:匿名使用者

好顯然啊!

抄1級---1種

2級---2種

3級---3種

4級---5種

5級---8種

……這是個斐波納契數列

通項公式(就是n級有多少種):f(n)=[(1+√5)/2]^n /√5 - [(1-√5)/2]^n /√5

c語言求法:參看

c++爬樓梯問題

6樓:匿名使用者

#include

using namespace std;

int dp[101][101],n,m;

int main()

printf("%d\n",dp[m][n]);}

堅持爬樓梯多久可以瘦腿,每天堅持爬樓梯半個小時可以瘦腿嗎

一.爬樓梯 法的原理 爬樓梯是一項健康的有氧運動,它主要的運動部位是大腿,但又能鍛鍊全身。和其他有氧運動一樣,爬樓梯法讓身體發熱,增強新陳代謝,消耗體內食物轉化的atp。全身性的有氧運動,加快整個身體中的血液迴圈,幫助大腿部位的脂肪代謝。二.爬樓梯 主要消耗下半身脂肪 我們知道,脂肪主要聚積在臉 頸...

爬樓梯的壞處有哪些,爬樓梯對膝蓋有傷害嗎?

teamo大頭 容易得膝關節炎。膝關節炎是骨性關節炎的一種,本來,關節兩截骨頭由軟骨覆蓋,軟骨被磨損掉了,便會得該病。因膝關節所承受的壓力大,幾乎負擔著整個人的體重,磨損的機會就更大,所以此處病變的發生率最高。而運動方式也會決定著膝關節的使用年限。上下樓梯的動作會增加膝關節的磨損。人體骨骼老化的時間...

人們爬樓梯的速度大概是多少,人們爬樓梯的速度大概是多少

二噸茅臺 爬樓梯可以在室內或室外進行,城市居民可以利用高樓建築物內的樓梯進行運動鍛鍊 而農村居住平房的群眾,因缺少樓梯則不能做此項運動。適宜能完成動作的所有人群,但患有髖關節 膝關節 踝關節疾病的人不能參加此項運動。注意事項 1 跑樓梯運動時膝關節部位承受負荷較大,有膝關節部位損傷和疾病的人不宜參加...