遞迴 0到100求和
阿新 • • 發佈:2020-11-03
收穫 發現不是自己遞迴不行 是自己數學不行 還是好好學學數學實在
- 先找規律 自己寫的時候上來就是堆程式碼 結果把自己搞得一頭霧水
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)