递归函数

递归函数:在函数内部本身调用本身的函数
递归能作循环能作的全部事情
循环作不了的 递归也能作
递归写 1+2+3+...+n;数组


方法:函数

1.找临界值:无须计算,便可得出的值:-退出递归
2.这一次和上一次运算的关系:+n
3.假设当前函数能够运行,根据上一次调用自身运算的结果,写出此次的运算结果
addSum() addSum(49) 1+2+..+50 = addSum(49)+50

->推断出 第n次运算与第n-1次运算的关系 addSum(n) = asddSum(n-1)+n;

一个标准的递归函数 必须有参数 有返回值blog

 

function addSum(n){

if(n==1){
return 1;
}
return addSum(n-1)+n

}
console.log(addSum(100));递归

 

 输入一个n,打印n个hello world 使用递归io

 

 

兔子繁殖问题,设有一对新生兔子,从第四个月开始他们每一个月月初
都生一对兔子,新生的兔子从第四个月月初开始又每一个月生一对兔子,
按此规律,并假定兔子没有死亡,n(n<=20)个月月末共有多少对兔子?console

这个逻辑性比较强,之后本身再慢慢研究,有点难理解。function

有个规律,也是颇有名的斐波那契数列,又称黄金分割数列,由于以‘兔子繁殖’而引入,因此也称‘兔子数列’。循环

这个大体规律以下:方法

  数组规律:    1 2 3 4 5 6 7 8 9 10 月份
       兔子:   1 1 1 2 3 4 6 9 13 19 兔子数量
// 斐波那契数列 f(n) = f(n-1)+f(n-3)im

上代码

相关文章
相关标签/搜索