码迷,mamicode.com
首页 > 其他好文 > 详细

递归函数

时间:2020-03-29 22:42:31      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:个数   rac   正整数   das   else   ora   ash   利用   nbsp   

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

递归两个特点:

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);
    }
}    

 

递归函数

标签:个数   rac   正整数   das   else   ora   ash   利用   nbsp   

原文地址:https://www.cnblogs.com/beimingdaoren/p/12595564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!