Java递归基础案例-斐波纳契数列
斐波纳契数列
/**
* Title: 斐波纳契数列
*
* Description: 斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……
* 在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
*
* 两种递归解法:经典解法和优化解法
* 两种非递归解法:递推法和数组法
*/
代码解析
package Action;
public class test {
public static void main(String[] args) {
//循环可以很多次,但是最终只有一个返回值
System.out.println(f(10));
}
public static int f(int n) {
if (n == 1 || n == 2) { // 递归终止条件
//1 1 2 3 5所以前两个数字都是1
return 1; //是2或1就结束了,0不计算
}
//倒着计算
System.out.println("此次递归数字到:"+n+",n-1:"+(n-1)+",n-2:"+(n-2));
return f(n - 1) + f(n - 2); // 相同重复逻辑,缩小问题的规模
}
}
计算结果:【55】
- 点赞
- 收藏
- 关注作者
评论(0)