递归实例 - -求斐波那契数列第x项的值

前言

最近在准备软考,看了下软考的一些算法。里面有一道是用,递归的方式求出斐波那契数列 第x项的值。下面就具体的分享下,这例子的实现思路和具体的代码实现。

概念:

   斐波那契数列:

                波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,

指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、…

这个数列从第3项开始,每一项都等于前两项之和…

递归:

程序调用自身的编程技巧称为递归( recursion),也就是定义一个方法,然后自己调用自己。但是有一点,递归是有结束条件的,要不然就成死循环了。

如下:求n的阶乘,递归应用(有结束条件)

//求n的阶乘
static int f(int n){
        if(n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }

 

思路:设n=5,求五的阶乘。

结果:

 

 

斐波那契数列: 

   求第6项的值

  

public static void main(String[] args) {
       System.out.println(F(6));
       // System.out.println(f(5));
    }

//求斐波那契数列第x项的值
static int F(int n){
        if(n==1||n==2){

            return 1;//满足条件停止递归,返回结果。
        } else {

            return F(n-1)+F(n-2);//不满足条件继续递归
        }
    }

思路: 设n=6,求第6项的值。

结果:

posted @ 2021-02-21 16:55  康世行  阅读(35)  评论(0编辑  收藏  举报