递归 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)
posted @   阿臻  阅读(680)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示