求斐波那契数列的第n个数(递归方法)

 斐波那契数列:

1    ------->第一项

1    ------->第二项   ------->前两项

 

2    ------->第三项   ------->前一项

3                            ------->当前项

5                                   ·

8                                   ·                     

13                                 ·

21

······

 

import java.util.Scanner;

public class Fibonacci {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请问要查找第几个斐波那契数");
        int k = scanner.nextInt();
        int ret = fib(k);
        System.out.println("第k个斐波那契数为:" + ret);
        scanner.close();
    }
    public static int fib(int n){
        if(n == 1||n == 2)//递归结束条件:数列的第一项和第二项均为1
            return 1;
        else
            return fib(n - 1) + fib(n -2);//递归规则:从第三项开始,当前项等于前两项之和
    }
}

 

求斐波那契数列的第n个数(递归方法)_第1张图片

 

你可能感兴趣的:(递归,在线OJ算法题)