樓梯有n個臺階,上樓可以一步上1階,也可以一步上兩階。一共有多少種上樓的方法?

點不著的火柴發表於2020-09-25

樓梯有n個臺階,上樓可以一步上1階,也可以一步上兩階。一共有多少種上樓的方法?


一、前言

看到這麼個題目時,一臉懵逼,不知道說的啥意思,然後就多讀了兩邊題目發現,如果有一階樓梯,那你就一步就上去了,也就一種方案。如果有兩階樓梯,你可以一個一個的上,你也可以一次跨倆,那麼就是兩種了,於是就開始了數學式的計算:如下圖:
在這裡插入圖片描述
n=3時,種類為1+2
n=4時,種類為3+2(上圖少個(2,2)也就是五種)
n=5時,種類為5+3
n=n時,種類為:(n–1)+(n-2)
以此類推,像不像高中的那啥函式?在程式設計中是如何實現的呢


二、上程式碼

 function stairs(n){
            if(n==1){
                return 1;
            }
            else if(n==2){
                return 2
            }else{
                return stairs(n-1)+stairs(n-2)
            }
        }

如果題目條件加入一次可上3階呢?道理是一樣的,動動手,就出來了

相關文章