1. 程式人生 > 實用技巧 >遞迴 0到100求和

遞迴 0到100求和

收穫 發現不是自己遞迴不行 是自己數學不行 還是好好學學數學實在

  1. 先找規律 自己寫的時候上來就是堆程式碼 結果把自己搞得一頭霧水
0+1=1 //1
1+2=3  // 1+1=2
3+3=6  // 2+1=3
6+4=10 // 3+1=4
10+5=15
15+6=21
21+7=28
28+8=36 
  • 這裡的每個算式的第二個數字都是前一個算式的相同位置數字+1; 第一個數字就是之前算式的和
  • 所以將之前算式的和加上前一個算式中的第二個數字然後加1

示例程式碼

 function getSum(num, num1) {
      let sum = num + num1  //num1對應的是每個算式中的第二個數字 sum就是算式的和 
      if (num1 + 1 <= 100) { //如果第二個數字沒有達到100就是還沒加到100  然後將計算的數字重新求和 以此遞迴 直到 滿足100的時候讓數字返回
        return getSum(sum, num1 + 1)  //剛開始我對這裡的return有點疑問 為什麼要一直return呢 其實列印sum可以打印出來結果 但是外部如果想要獲取結果就要層層return 畢竟 這裡呼叫了很多次求和函式 每一層都要return  才能將結果返回出去
      } else { 
        return (sum) 
      }
    }
 getSum(0,1)