统计
  • 建站日期:2019-12-01
  • 文章总数:2062 篇
  • 评论总数:2129 条
  • 分类总数:21 个
  • 最后更新:12月11日
文章 未分类

[JAVA基础算法] 斐波那契数列

程序员阿鑫
首页 未分类 正文

首先,先说一下什么是 斐波那契数?

定义:


[JAVA基础算法]斐波那契数列
-程序员阿鑫-带你一起秃头
-第1
张图片

所谓的斐波那契数就是从第三项开始,每一项都等于前两项之和。

现在说一下递归求解斐波那契数,直接模拟递推公式

递推公式

Fn=F(n-1)+F(n-2)(n>=2,n∈N*)

题目:

1,1,2,3,5,8,13,21,... 称为斐波那契数列
它的第3项是2,它的第100项是多少?

由题意得知要我们求出斐波那契数列的第100位数是多少?

站长起初想到了用for循环来做,递归做起来的话运算速度很慢,没有for循环运算的快,这两种方法站长都写出来了,以供大家参考:

代码:

public class Main {
    //递归方法
    public static long f(int n) {
        if(n == 1 || n == 2) {  //斐波那契数第一位和第二位都是1
            return 1;           //所以无论到第一位还是第二位直接返回1即可
        }
        return f(n-1)+f(n-2) ;
    }
    //for循环方法
    public static long xfor (int n) {
        long a1 = 1, a2 = 1;      //给出斐波那契数第一位和第二位
        for(int i = 3; i <= n; i++) {
            long a3 = a1;
            a1 = a2;
            a2 = a3 + a1;   //后一项等于前两项之和
        }
        return a2;
    }

    public static void main(String[] args) {
        int n = 20;
        System.out.println(xfor(n));
        System.out.println(f(n));
    }

}

以上是《[JAVA基础算法] 斐波那契数列》的全部内容,

感谢您对程序员阿鑫博客的支持!

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2020-8-20,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
宝塔7.4.2紧急安全漏洞
« 上一篇
CPU-Z v1.93.0 中文单文件版
下一篇 »

发表评论