Java输出斐波那契数列

来源:互联网 发布:mac vim 保存退出 编辑:程序博客网 时间:2024/04/29 18:27

梧桐更兼细雨,到黄昏、点点滴滴。—李清照《声声慢·寻寻觅觅》


java输出斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,在数学上,斐波纳契数列以如下被以递归的方法定义:

F0)=0F1)=1F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

示例1

//package com.test;/** * Title: Fibonacci Description: 输出斐波那契数列(Fibonacci sequence) * 0、1、1、2、3、5、8、13、21、34、……  * @author Peng * @date 上午9:11:28 */public class Fibonacci {    public static void main(String[] args) {        print(13);    }    private static void print(int n) {        long i = 0;        long j = 1;        long sum = 0;        for (int k = 1; k <= n; k++) {            if (k == 1) {                System.out.print(1 + " ");            } else {                sum = i + j;                i = j;                j = sum;                System.out.print(sum + " ");            }        }    }}
 1 1 2 3 5 8 13 21 34 55 89 144  233

示例2

//package com.test;public class Fibonacci3 {    // 使用递归方法    private static int getFibo(int i) {        if (i == 1 || i == 2)            return 1;        else            return getFibo(i - 1) + getFibo(i - 2);    }    public static void main(String[] args) {        System.out.println("斐波那契数列的前20项为:");        for (int j = 1; j <= 20; j++) {            System.out.print(getFibo(j) + " ");            /*每隔5个数换行             * if (j % 5 == 0)                System.out.println();*/        }    }}

示例3

//package com.test;import java.util.InputMismatchException;import java.util.Scanner;public class Solution {    public static long Fibonacci(int n) {        long[] num = new long[100];        num[0] = 0;        num[1] = 1;        for (int i = 2; i < 100; i++) {            num[i] = num[i - 1] + num[i - 2];        }        return num[n];    }    /*public static void main(String[] args) {        @SuppressWarnings("resource")        Scanner in = new Scanner(System.in);        System.out.println("输入查询的数(整数):");        while (in.hasNext()) {            try {                System.out.println(Fibonacci(in.nextInt()));            } catch (InputMismatchException e) {                System.out.println("程序退出");                System.exit(0);            }            System.out.println("输入查询的数(输入任意字符退出):");        }    }*/}
0 0
原创粉丝点击