zoukankan      html  css  js  c++  java
  • 递归思想解决小熊掰玉米问题

    小熊掰玉米 一天小熊来到一片玉米地,兴奋的掰了若干个玉米,他发现太多了,于是扔了其中一半,感觉还是有点多,于是又扔了一个后往家赶;当它走了一米的时候感觉有点累,于是扔掉其中的一半加一个,继续往前每走一米重复以往的动作,扔掉其中的一半加一个;当它走到10米时候,发现手中就剩一个了,有点伤感,也忘了开始自己摘了几个玉米了,那么你帮小熊算算,它开始掰了多少个玉米?

    思路分析过程:

    代码过程:

    // 总玉米数 
        function getTotle(leng){
            totle=0; // 总玉米数量
            // 最后0米的时候就剩一个玉米了
            if(leng==0){
                totle=1;
            }else{
                // 以后每走一米为前一米的+1的2倍
                totle=2*(getTotle(leng-1)+1)
                // 由于每次计算都需要用到上一次的玉米数,所以需要用递归调用
            }
            return totle; // 总玉米数
        }
        console.log(getTotle(3)); // 第10米的玉米数
        /*
            m=3 totle=2*(getTotle(3-1)+1)  totle=22
            m=2 totle=2*(getTotle(2-1)+1)  totle=10
            m=1 totle=2*(getTotle(1-1)+1)  totle=4
            m=0 getTotle(0)                totle=1
        */
  • 相关阅读:
    scp命令
    js代码片段
    js创建request对象与ajax请求
    多个action组成一个文件
    ng-option选项禁用
    IE日期
    ui-sortable
    P5多语言默认语言不生效BUG的解决办法
    防止多次点击提交按钮造成数据多次提交
    c#根据ip获取地理位置
  • 原文地址:https://www.cnblogs.com/ranyihang/p/bear.html
Copyright © 2011-2022 走看看