- package com.heima.test;
- public class Test5 {
- /**
- * 斐波那契数列
- * 1 1 2 3 5 8 13
- * f(n) = f(n - 1) + f(n -2);
- * f(5) = f(4) + f(3);
- * = f(3) + f(2) +f(2) +f(1);
- * =f(2) + f(1) +f(2) +f(2) +f(1);
- * =2f(1) +3f(2);
- * =2 + 3
- * =5
- */
- public static void main(String[] args) {
- for(int i = 1;i <10;i++) {
- System.out.println(f(i));
- }
- }
-
- /*
- * 定义方法f()求斐波那契数列
- * A.返回值类型int
- * B.参数列表 int n
- * 递归的出口:前两项是已知的
- * 递归的规律:第三项等于前两项之和
- * */
- public static int f(int n) {
- if(n < 1){
- return -1;
- }else if(n == 1 | n==2) {
- return 1;
- }else {
- return f(n-1) +f(n-2);
- }
-
- }
- }
复制代码 |