递归算法
1.递归两要素
(1)调用自身 (2)结束返回条件
2.举例:
(1)1-100求和
分析:
(2)斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
分析:数列可以理解为0、1、1、2、3、5、8、13、21、34、.....,
第0个月是0、
第1个月是1、
从第2个月开始:第2个月数量(1)=第0个月(0)+第1个月(1)、
从第3个月开始:第3个月数量(2)=第1个月(1)+第2个月(1)、
从第4个月开始:第4个月数量(3)=第2个月(1)+第3个月(2)、
从第5个月开始:第5个月数量(5)=第3个月(2)+第4个月(3).....
static int sum(int n){
int sum = 0;
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
sum = sum(n-1) + sum(n-2);
return sum;
}