斐波那契数列(Java)
程序员文章站
2022-07-01 16:30:45
一、什么是斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1,1,2,3,5,8,13,21,34,……1,1,2,3,5,8 ......
一、什么是斐波那契数列
斐波那契数列(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