递归实例 - -求斐波那契数列第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项的值。
结果:
欢迎访问csdn的博客:
https://blog.csdn.net/kangshihang1998?spm=1010.2135.3001.5343