一、什么是斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1,1,2,3,5,8,13,21,34,……1,1,2,3,5,8,13,21,34,……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n−1)+F(n−2)(n>=3,n∈N∗)
二、Java实现(输出前20项)
1.循环写法
package com.company; class Fibonacci{ public void output(int previous , int latter , int sum){ for(int i = 1 ; i <= 18 ; i ++){ sum = previous + latter; System.out.println("第"+(2+i)+"项是:"+sum); previous = latter; latter = sum; } } } public class Test { public static void main(String[] args) { int previous = 1; int latter = 1; int sum = 0; System.out.println("第1项是:"+previous); System.out.println("第2项是:"+latter); Fibonacci fb = new Fibonacci(); fb.output(previous,latter,sum); } }
2.递归写法
package com.company; class Fibonacci{ public int output(int num){ if(num == 1 || num == 2){ return 1; }else{ return output(num-1) + output(num-2); } } } public class Test { public static void main(String[] args) { Fibonacci fb = new Fibonacci(); for(int i = 1 ; i <= 20 ; i ++){ System.out.println("第"+i+"项为:"+fb.output(i)); } } }
输出结果
第1项为:1 第2项为:1 第3项为:2 第4项为:3 第5项为:5 第6项为:8 第7项为:13 第8项为:21 第9项为:34 第10项为:55 第11项为:89 第12项为:144 第13项为:233 第14项为:377 第15项为:610 第16项为:987 第17项为:1597 第18项为:2584 第19项为:4181 第20项为:6765