用递归,就要有出口,和规律,下面是代码举例,希望对你有帮助,
package com.itheima;
/**
* 1.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
*
* @author 思路分析:从前10项数列分析相邻的三个数:第一位+第二位=第三位 递归算法!
* 出口:第一项和第二项已知
* 规律:第三项的值是前两项之和
*/
public class Test1 {
public static void main(String[] args) {
//
System.out.println(fun(30));
}
/**
*
* @返回值类型 int
* @参数列表 int n
* 问n项数,那么n-1和n-2项数是多少?
*
*/
public static int fun(int n) {
//出口就是n == 1,n == 2
if (n == 1) {
return 1;
} else if (n == 2)
return 1;
else {
//这就是规律
return fun(n - 1) + fun(n - 2);
}
}
}
|