學(xué)習(xí)筆記2

題目:超級(jí)樓梯

鏈接:Problem - 2041

Problem Description:

有一樓梯共M級(jí),剛開始時(shí)你在第一級(jí),若每次只能跨上一級(jí)或二級(jí),要走上第M級(jí),共有多少種走法?

Input:

輸入數(shù)據(jù)首先包含一個(gè)整數(shù)N,表示測(cè)試實(shí)例的個(gè)數(shù),然后是N行數(shù)據(jù),每行包含一個(gè)整數(shù)M(1<=M<=40),表示樓梯的級(jí)數(shù)。

Output:

對(duì)于每個(gè)測(cè)試實(shí)例,請(qǐng)輸出不同走法的數(shù)量

Sample Input

2

2

3

Sample Output

1

2

自己的思路:從開始就理解錯(cuò)了題目,會(huì)錯(cuò)了意,題目開始就是站在第一層臺(tái)階往上跨直到目標(biāo)樓梯階層,接著又理解錯(cuò)了題目的規(guī)則,題目要上樓梯是跨一級(jí)或兩級(jí)臺(tái)階這樣交替的,那么當(dāng)你到達(dá)第n階的時(shí)候有兩種到達(dá)方式。 在n-1處上 1個(gè)樓梯。在n-2處上2個(gè)樓梯。

明白之后就是一個(gè)遞歸,原理就是在踏上n層時(shí),把之前n-1和n-1踏過的方法相加,就是可供踏上第n層的總方法。

源代碼:

#include <stdio.h>

int main(void)

{

? ? int n, number;

? ? int a[41] = {0};

? ? a[1] = 1;

? ? a[2] = 1;

? ? int i;

? ? while(scanf("%d",&n)!=EOF)

? ? while(n--)

? ? {

? ? ? ? scanf("%d",&number);

? ? ? ? if(number == 1|| number == 2)

? ? ? ? printf("1\n");

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? for(i=3;i<=number;i++)

? ? ? ? {

? ? ? ? ? ? if(a[i]==0)

? ? ? ? ? ? a[i] = a[i-1] + a[i-2];

? ? ? ? }

? ? ? ? printf("%d\n",a[number]);

? ? ? ? }

? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,039評(píng)論 0 2
  • 1. OJ 2041 超級(jí)樓梯 問題描述:有一樓梯共M級(jí),剛開始時(shí)你在第一級(jí),若每次只能跨上一級(jí)或二級(jí),要走上第M...
    Chikcharry閱讀 409評(píng)論 0 4
  • 第1章 第一個(gè)C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計(jì)第5章 條件結(jié)構(gòu)程序設(shè)計(jì)第6章...
    小獅子365閱讀 10,872評(píng)論 3 71
  • 最喜歡在傍晚散步 太陽發(fā)出不刺眼的柔光 獨(dú)自一人在太陽的香氣中待到深夜 吹來一絲柔軟、富有彈性的微風(fēng) 和著精巧的落...
    麾毛桿兒閱讀 286評(píng)論 0 0
  • 繁星之下,黑幕降臨。 為了適應(yīng)黑暗,我調(diào)暗了手機(jī)屏幕的亮度,機(jī)身不大,底白色,滿屏幕都是字。我手指滑動(dòng)著,一頁又一...
    米唐米唐呀閱讀 396評(píng)論 1 8

友情鏈接更多精彩內(nèi)容