Java 斐波那契数列

简介: Java 斐波那契数列

斐波那契数列在编程界无人不晓,不晓得以前是否已经写过这样的Java 程序,也不关乎王二如今已经编程了多少年,再次来感受一下该数列的牛逼之处吧!

public static void main(String args[]) {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            while (true) {
                int num = Integer.parseInt(br.readLine());
                if (num == -1) {
                    break;
                }
                int start = 1;
                int next = 1;
                System.out.print(start + "、");
                System.out.print(next + "、");
                // 从3开始到第num个斐波那契数
                for (int i = 3; i <= num; i++) {
                    int last = start + next;
                    System.out.print(last + "、");
                    start = next;
                    next = last;
                }
                System.out.println();
                for (int i = 1; i <= num; i++) {
                    System.out.print(getF(i) + "、");
                }
                System.out.println();
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    static int getF(int i) {
        if (i == 1 || i == 2) {
            return 1;
        } else {
            return getF(i - 1) + getF(i - 2);
        }
    }

一个递归,一个前两位相加,这两个方法很常用,也很简单,就不费口舌了。


重要的不是这个,是斐波那契数列

翻阅百度百科,让我记忆犹新的有:


斐波那契数列是斐波那契在养兔子时候发现的非常用意思的数列,虽然我不知道新生兔子第一个月是不生产的,但想来所有的规律都是和生活所贴近的。

斐波那契数列能计算出黄金分割,随着数量的增加,前一项与后一项的比重越接近0.618,哦,天哪,这肯定不是斐波那契发现的,后人研究的成果。

树木发芽也符合斐波那契数列,好神奇。

杨辉三角好像也和斐波那契数列有点关系,虽然没有细读。


相关文章
java实现斐波那契数列(递归、迭代、流)
java实现斐波那契数列(递归、迭代、流)
258 1
|
Java
Java经典编程习题100例:第10例:计算斐波那契数列(Fibonacci)的第n个值
Java经典编程习题100例:第10例:计算斐波那契数列(Fibonacci)的第n个值
203 0
|
算法
Java_斐波那契数列_兔子生兔子算法
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…… 特别指出:第0项是0,第1项是第一个1。 这个数列从第三项开始,每一项都等于前两项之和。
194 0
Java_斐波那契数列_兔子生兔子算法
|
Java
Java 斐波那契数列
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/50339901 斐波那契数列在编程界无人不晓...
856 0
JAVA--自制斐波那契数列输出
累了,写点简单的。 1 public class hello { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 ...
862 0
|
22天前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
88 1
|
22天前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
90 1
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
103 0
下一篇
开通oss服务