美文网首页
一条有趣的前端面试题(3)

一条有趣的前端面试题(3)

作者: 谢小逸 | 来源:发表于2017-06-15 18:02 被阅读0次

第1个人10,第2个比第1个人大2岁,依次递推,请用递归方式计算出第8个人多大?

拿到这个题目,其实并不难,等差数列而已 a=8+2n ,但是如题要求是用递归方式计算;
我们来看看递归的定义是:是将问题转化为规模缩小的同类问题的子问题,每一个子问题都用一个同样的算法去解决。说得简单就是在运行的过程中调用自己。

递归的特点:

1.在函数过程中调用自身。

2.在递归过程中,必须有一个明确的条件判断递归的结束,既递归出口。

3.递归算法简洁但效率低,通常不作为推荐算法。

    function getAge(index){
        if(index==1){
            return 10
        }else{
            return 2+getAge(index-1)
        }
    }
    alert(getAge(8))
    

这里当index!==1的时候,返回的是2+ getAge(index-1),一直到index=2的时候返回10,累加之后得到的答案是24

相关文章

网友评论

      本文标题:一条有趣的前端面试题(3)

      本文链接:https://www.haomeiwen.com/subject/kafeqxtx.html