JAVA实现--斐波那契数列

斐波那契数列是我在初中的数学课接触到的,当时唯一对这个感兴趣的是他的名字,因为一直在想是谁起了一个这么别扭的名字…后来无知的我才发现原来是这么一回事:

斐波那契数列:是1202年莱昂纳多·斐波那契提出的,当时只是为了解决一个兔子繁殖的问题,后来再世人的研究与拓展,发现他有非常广泛的应用。下面我们用程序来实现如何计算斐波那契数列:

0,1,1,2,3,5,8,13,21,34……

上面这个数列有一个递推式和一个初始条件:

F[n]=F[n-1]+F[n-2] (n>1)

F[0]=0, F[1]=1

根据上面的条件我们来写程序:

public class Fib
{
    public static void main(String args[])
    {
        int n=10;
        int []F=new int[n];
        F[0]=0;
        F[1]=1;
        for(int i=2;i<n;i++){
            F[i]=F[i-1]+F[i-2];
        }
        System.out.println("前十个斐波那契数列是:");
        for(int j=0;j<n;j++){
            System.out.print(F[j]+" ");
        }
    }
}

是不是看了斐波那契数列其实没有那么的恐怖…只是名字有点吓人而已<^^>

时间: 2024-10-06 00:07:19

JAVA实现--斐波那契数列的相关文章

【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现)

斐波那契数列:0.1.1.2.3.5.8.13………… 他的规律是,第一项是0,第二项是1,第三项开始(含第三项)等于前两项之和. > 递归实现 看到这个规则,第一个想起当然是递归算法去实现了,于是写了以下一段: public class RecursionForFibonacciSequence { public static void main(String[] args) { System.out.println(recursion(10)); } public static double

java输出斐波那契数列

题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) //Java编程:三种

Java实现斐波那契数列Fibonacci

import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); System.out.println("斐波那契数列的个数是:"); int total=in.nextInt(); System.out.println("

java实现斐波那契数列和约瑟夫环

斐波那契数列的递归实现: public int fn(int n) { if (n == 1 || n == 2) return 1; return fn(n-1)+fn(n-2); } 非递归写法: public int fn(int n) { int a =1; int b = 1; int tmp; if (n == 1 || n == 2) return 1; for (int i = 2; i < n; i++) { tmp = a +b; a = b; b = tmp; } retu

斐波那契数列【java实现】

java 实现斐波那契数列 以下是Java代码实现(递归与递推两种方式): import java.util.Scanner; /** * Fibonacci * * @author tongqian.zhang */ public class Fibonacci { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Please input

用程序猿思维、程序设计师思维两种方式写求斐波那契数列的方法。

//用Java实现斐波那契数列(Fibonacci) public class Test { public int f(int n)//n代表第几个数字.程序返回它相应的值 { return n>2?f(n-1)+f(n-2):1;//看似如此优雅的一句程序 } //程序设计师的思维:会重构上面的代码.让他们更易读.推荐!! ! public int fibo(final int pos) { final int num; if(pos>2) num = fibo(pos-1)+fibo(po

用程序员思维、程序设计师思维两种方式写求斐波那契数列的方法。

//用Java实现斐波那契数列(Fibonacci) public class Test { public int f(int n)//n代表第几个数字,程序返回它对应的值 { return n>2?f(n-1)+f(n-2):1;//看似如此优雅的一句程序 } //程序设计师的思维:会重构上面的代码,让他们更易读,推荐!!! public int fibo(final int pos) { final int num; if(pos>2) num = fibo(pos-1)+fibo(pos

Java 兔子问题(斐波那契数列)扩展篇

Java兔子问题(斐波那契数列)扩展篇 斐波那契数列指的是这样一个数列 0, 1, 1, 2,3, 5, 8, 13, 21, 34, 55, 89, 144, ...对于这个数列仅仅能说将兔子生产周期第为3月.假设生成周期变成4月这个数列肯定不是这种,或者说兔子还有死亡周期,在这里我是对兔子生产周期没有限定.仅仅要月份大于生产周期都能够计算出第month月份究竟能产生多少对兔子. Java兔子生殖问题 斐波那契数列又因数学家列昂纳多·斐波那契以兔子生殖为样例而引入.故又称为"兔子数列"

PHP_I love U之(2)php衣食父母: Java与PHP效率比拼之一:斐波那契数列

PHP_I love U之(1)php衣食父母: Java与PHP效率比拼之一: 斐波那契数列 Fibonacci 解释见:http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97 ( 应该是1 , 维基的公式错了!?!) (n≧2) 这次先写 Java的代码: class fb { static int f1b (int x) { if ((0==x)||(1==x) ) {  ret