HDU 2041 超級樓梯

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

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

Output
對于每個測試實例,請輸出不同走法的數(shù)量

Sample Input

2 2 3

Sample Output

1 2

java code

簡單遞推
逆向思考,最后一級只能是m-1步或是m-2步
總的走法就是m-1的走法加上m-2的走法,即最后一級的前一級的走法
遞推公式就是F(n) = F(n-1) + F(n-2)
令F(1) = 1 , F(2) = 2

也就是斐波拉基遞推
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        for (int j = 0; j < n; j++) {
            int m = cin.nextInt();
            int a[] = new int[45];
            for (int i = 2; i <= m; i++) {
                a[2] = 1;
                a[3] = 2;
                if (i > 3)
                    a[i] = a[i - 1] + a[i - 2];
            }
            System.out.println(a[m]);
        }
        cin.close();
    }

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

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

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