遞歸 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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM