zoukankan      html  css  js  c++  java
  • 递归 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)
    
  • 相关阅读:
    H5 俄罗斯方块Demo
    HTML5 Web Workers
    H5 基于Web Storage 的客户端留言板
    H5 百度一下,你就知道
    H5 71-网易注册界面4
    H5 70-清除浮动方式五
    H5 69-清除浮动方式四
    H5 68-伪元素选择器
    H5 67-清除浮动方式三
    H5 66-清除浮动方式二
  • 原文地址:https://www.cnblogs.com/shiazhen/p/13918217.html