递归函数

任何一个方法既可以调用其他方法,又可以调用自己,当这个方法调用自己的时候,就是递归方法或者递归函数

递归两个特点:

1.递归方法一直会调用自己,直到某些条件满足时停止,也就是说一定要有出口;

2.递归方法会有一些参数,而他会把这些新的参数传递给自己。

 

递归常用场景——阶乘

  • 阶乘是指小于某个数正整数之之积,关键字:!;例如:3!= 3 * 2!= 3 * 2 * 1 = 6;
  • 0的阶层为1;
  • n的阶乘实际上就是n-1的阶乘乘以n,公式为: n! = n * (n-1)!;

利用递归方法求某数的阶乘:

public int Factorial(int n){
    if(n == 0)
    {
    return 1;
    } 
    else
    {
        return n*Factorial(n-1);
    } 
}    

 

递归常用场景——斐波拉契数列

斐波拉契数列(Fiboracci)规律为:后一个数等于前两个数之和。

公式:如果F0 = 0,且 F1 = 1,则Fn = F(n-1) + F(n-2);

利用递归方法列出斐波拉契数列数列:

public int Fiboracci(int n ){
    if(n == 0 || n == 1){
        return n;         
    }else{
        return Fiboracci(n-2) + Fiboracci(n-1);
    }
}    

 

posted on 2020-03-29 22:35  北冥道人骑鲲打代码  阅读(415)  评论(0编辑  收藏  举报

导航