递归
递归从本质上来讲其实就是:将原来的问题转换为更小的同一问题。
递归的方法步骤:
1.找出递归到底的情况if语句
2.根据特点总结出通用的递归公式
3.直接调用函数即可
public class DGDemo {
// 第一个 用递归求总数和
public static int sum(int n)
{
//递归到底的情况
if(n==1)
{
return 1;
}
return n+sum(n-1);
}
// 第二个 用递归求猴子吃桃问题
public static int eatingpeach(int days)
{
// 递归到底的情况
if(days==1)
{
return 1;
}
return (1+eatingpeach(days-1))*2;
}
// 第三个 用递归求斐波那契数列
public static int fbnq(int n)
{
//递归到底的情况
if (n==1||n==2)
{
return 1;
}
return fbnq(n-1)+fbnq(n-2);
}
public static void main(String[] args) {
System.out.println(sum(100));
System.out.println(eatingpeach(4));
System.out.println(fbnq(7));
}
}
运行结果:
5050
22
13