js 递归方式求出以下结果,说说处理思路

2021-03-23 09:48发布

1000/1+1000/2+1000/3+...1000/n=10000

// 请用JavaScript的递归方式,写出求n的代码


1000/1+1000/2+1000/3+...1000/n=10000

// 请用JavaScript的递归方式,写出求n的代码


3条回答
杨晓春
2楼 · 2021-03-24 09:19

 

[removed]

[removed]

 

 

[removed]

var data = {

"child": [{

"id": "M001",

"name": "一级",

"href": "#",

"child": ""

},

{

"id": "M002",

"name": "一级",

"href": "#",

"child": [{

"id": "M003",

"name": "二级",

"href": "#",

"child": [{

"id": "M006",

"name": "三级",

"href": "#",

"child": ""

},

{

"id": "M007",

"name": "三级",

"href": "#",

"child": ""

}

]

},

{

"id": "M004",

"name": "二级",

"href": "#",

"child": ""

},

{

"id": "M005",

"name": "二级",

"href": "#",

"child": ""

}

]

},

{

"id": "M006",

"name": "一级",

"href": "#",

"child": [{

"id": "M005",

"name": "二级",

"href": "#",

"child": ""

}]

}

]

};

$(function() {

var showlist = $("

    ");

    showallChild(data.child, showlist);

    $("#div_menu").append(showlist);

    });

     

    //递归函数

    function showallChild(data_list, parent) {

    for(var datas in data_list) {

    //如果有子节点,则遍历该子节点

    if(data_list[datas].child.length > 0) {

     

    //逻辑处理

    var li = $("

  • ");

    $(li).append(data_list[datas].name).append("

      ").appendTo(parent);

       

      //递归

      showallChild(data_list[datas].child, $(li).children().eq(0));

      }

      //如果该节点没有子节点,则直接将该节点li以及文本创建好直接添加到父亲节点中

      else {

       

      $("

    • ").append(data_list[datas].name).appendTo(parent);

      }

      }

      }

      [removed]



      我是大脸猫
      3楼 · 2021-03-26 10:25

      递归:

      函数中用调用函数自己,此时就是递归,递归一定要有结束条件


          function f1() {

              console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");

              f1();

          };

          f1();//浏览器崩溃,因为没有结束条件——死循环


      改进如下:

          var i=0;

          function f1() {

              i++;

              if (i<5>

                  f1();

              }

              console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");

          };

          f1();

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      小栗子:

      递归实现:求n个数字的和 n=5 ------->5+4+3+2+1


      //for 循环写法:

          var sum=0;

          for (var i=0;i<=5;i++){

              sum+=i;

          }

          console.log(sum);

      ----------------------分割线---------------------------


         function getSum(x) {

              if (x==1){

                return 1

              }

              return x+getSum(x-1);

          };


          var sum1=getSum(5);

          console.log(sum1);

          console.log(getSum(10));

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      执行过程:

      代码执行getSum(5)—>进入函数,此时的x是5,执行的是5+getSum(4),此时代码等待

      此时5+getSum(4),代码先不进行计算,先执行getSum(4),进入函数,执行的是4+getSum(3),等待, 先执行的是getSum(3),进入函数,执行3+getSum(2),等待,先执行getSum(2),进入函数,执行 2+getSum(1);等待, 先执行getSum(1),执行的是x==1的判断,return 1,所以,

      此时getSum(1)的结果是1,开始向外走出去

      2+getSum(1) 此时的结果是:2+1

      执行:

      getSum(2)---->2+1

      3+getSum(2) 此时的结果是3+2+1

      4+getSum(3) 此时的结果是4+3+2+1

      5+getSum(4) 此时的结果是5+4+3+2+1


          结果:15

      1

      再来几个:


          //递归案例:求一个数字各个位数上的数字的和:  123   --->6 ---1+2+3

          //523

          function getEverySum(x) {

              if(x<10>

                  return x;

              }

              //获取的是这个数字的个位数

              return x+getEverySum(parseInt(x/10));

          }

          console.log(getEverySum(1364));//5

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

       //递归案例:求斐波那契数列


          function getFib(x) {

              if(x==1||x==2){

                  return 1

              }

              return getFib(x-1)+getFib(x-2);

          }

          console.log(getFib(12));

      ————————————————



      小小收藏家
      4楼 · 2021-03-28 20:55

      递归:

      函数中用调用函数自己,此时就是递归,递归一定要有结束条件


          function f1() {

              console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");

              f1();

          };

          f1();//浏览器崩溃,因为没有结束条件——死循环


      相关问题推荐

      • 回答 120

        相对前几年来说,要高上不少了,毕竟入行的人也是越来越多了,基础的工作对应想要参与的人群基数越来越大,但是对于高端人才的需求还是很多,人才还是相对稀缺性的。所以,想要学web或者其他技术也一样,别等,别观望。web前端就业方向特别多包括web前端开发...

      • 回答 25

        相对定位和绝对定位是定位的两种表现形式,区别如下:一、主体不同1、相对定位:是设置为相对定位的元素框会偏移某个距离。2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。二、特点不同1、相对定位:在使用相对定位时,无论是否进行移...

      • 抓包是什么意思?2020-04-01 17:36
        回答 7
        已采纳

        抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓包可以通过抓包工具来查看网络数据包内容。通过对抓获的数据包进行分析,可以得到有用的信息。目前流行的...

      • 回答 89

        常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等

      • 回答 65
        已采纳

        前端是目的就业前景非常不错的一个计算机技术,但是自学的话还是有一定难度的,网络上自学是碎片化的,同时互联网技术跟新换代快,自己的话比较吃力也学习不到最新的技术。

      • SSR 是什么意思?2020-03-20 18:56
        回答 6

        SSR就是一台服务器,可以利用 SSR 在远程的服务器上配置 SSR,使其能够成为 SSR 节点,这样本地电脑或者其它设备利用 SSR 节点实现 VPN 或者远程上网及游戏加速等方面。ShadowsocksR(简称 SSR)是 Shadowsocks 分支,在 Shadowsocks 的基础上增加了一些数据...

      • 回答 52
        已采纳

        计算机培训方向比较多,建议找适合自己的方向选择培训编程类:JAVA、WEB、Python、C/C++、C#等测试类:软件测试运维类:云计算、网络安全设计类:UI设计、3D建模等

      • 回答 11

        1、代码判断xAxis: {type: &#39;time&#39;,splitLine: {show: false},interval: 3600, // 设置x轴时间间隔axisLabel: {formatter: function(value, index) {return liangTools.unix2hm(value)}}},首先要把xAxis 显示类型设置成time,然后设置对应X轴......

      • 回答 8

        HTML5 + CSS + JavaScript 开发 跨平台重用代码 

      • 回答 4

        采用rem单位自动响应,并提供独有栅格化系统快速定义宽高、边距节省css代码量,同时总结各大型移动端网页,提供一套ui颜色搭配规范,尺寸规范,字体规范等。

      • 回答 10

        iView UI、ioni、SUI

      • 回答 6

         jQTouch 

      • 回答 4

        如果只是普通的移动端用vue react 或者dva 如果是要编译成小程序什么的或者混生 就用uni-app(对应vue语法)taro(对应react) 或者纯原生 这个没有限制的,自己怎么舒服怎么来

      • 回答 4

        因为可以运用在网页和小程序的开饭中,而且开源,用着便宜,企业都很喜欢

      • 回答 10

        一、Visual Studio Code下载地址:https://code.visualstudio.com/微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。Visual Stud...

      • 回答 9

        jQuery自带淡入淡出效果 https://www.w3school.com.cn/jquery/jquery_fade.asp 看看这个 

      没有解决我的问题,去提问