剑指offer_递归与循环---斐波那契数列

简介: 剑指offer_递归与循环---斐波那契数列

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

n<=39

解题思路

1,斐波那契数列除了第一项和第二项是1,其余都为前两项的和

2,使用递归方式。

代码实现

/**
 * 
 */
package 递归和循环;
/**
 * 第一个为1,第二个为2,第三项开始,为前两项的和 1,1,2,3,5,8
 * 
 * @author 田茂林
 * @data 2017年8月23日 上午11:11:24
 */
public class Fibonacci {
    public int fibonacci(int n) { // 使用迭代的方式,降低时间复杂度
        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 1;
        }
        int num = 0;
        if (n > 2 && n <= 39) {
             num = fibonacci(n - 1) + fibonacci(n - 2);
        }
        return num;
    }
}


目录
打赏
0
0
0
0
33
分享
相关文章
汉诺塔问题(函数递归)
汉诺塔问题(函数递归)
112 0
|
11月前
|
C语言汉诺塔数列(循环版,递归版)
C语言汉诺塔数列(循环版,递归版)
114 0
利用函数递归求汉诺塔问题
利用函数递归求汉诺塔问题
81 0
|
11月前
函数递归详解----跳台阶、斐波那契数列、汉诺塔问题
递归的思想:把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但规模较⼩的⼦问题来求解;直到⼦问题不能再被拆分,递归就结束了。所以递归的思考⽅式就是把⼤事化⼩的过程。递归中的递就是递推的意思,归就是回归的意思。
LeetCode 37 解数独 循环+回溯算法
LeetCode 37 解数独 循环+回溯算法
74 0
剑指offer_递归与循环---跳台阶
剑指offer_递归与循环---跳台阶
85 0
剑指offer_递归与循环---矩形覆盖
剑指offer_递归与循环---矩形覆盖
97 0
剑指offer_递归与循环---扑克牌顺子
剑指offer_递归与循环---扑克牌顺子
70 0