樓梯走法

Github

public class 樓梯走法 {
    private static int i = 0;

    public static void main(String[] args) {
        calc("", 4);
        System.out.println("共有幾種 = [" + i + "]");
    }

    //上樓梯每次只需一步或者兩步,有多少走法
    public static void calc(String log, int num) {
        /**
         *  相減     log值
         *  4-1=3      1
         *  --------------
         *  3-1=2      1、1
         *  2-1=1      1、1、1
         *  1-1=0      1、1、1、1
         *  --------------
         *  3-2=1      1、2
         *  1-1=0      1、2、1
         *  --------------
         *  3-1=2      1、1
         *  2-2=0      1、1、2
         *  -----------------
         *
         *  4-2=2       2
         *  -----------------
         *  2-1=1       2、1
         *  1-1=0       2、1、1
         *  -----------------
         *  2-2=0       2、2
         *
         */
        if (num == 0) {
            i++;
            System.out.println(log);
            return;
        } else if (num == 1) {
            i++;
            System.out.println(log + "1");
            return;
        }
        calc(log + "1  ", num - 1);
        calc(log + "2  ", num - 2);
    }

}
?著作權(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)容