斐波那契数列java代码实现
斐波那契数列
斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”;
* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… * 其规律是从第3个数开始,每个数都等于它前两个数的和。
java代码实现
1. 用递归的方法实现:
package com; import java.util.Arrays; //1.递归方法 public class test2 { //1.用递归方法 public static void main(String[] args) { for (int counter = 1; counter <= 10; counter++){ System.out.printf("Fibonacci of %d is: %d ", counter, fibonacci(counter)); } } public static long fibonacci(long number) { if ((number == 0) || (number == 1)) return number; else return fibonacci(number - 1) + fibonacci(number - 2); } }
2. 用循环方法实现:
public class test3{ public static void main(String[] args) { //1.定义三个变量,用来存放第一个第二第三个斐波那契数 int a1 = 1; int a2 = 1; int a3 ; System.out.print("斐波那契数列前十个是:"); System.out.print(a1+","+a2); for (int i = 3; i <=10;i++) { //2.根据前两个数算出第三个数 a3=a2+a1; //3.更新第一第二个数 a1=a2; a2=a3; System.out.print(","+a3); } } }
3. 用数组+循环来实现:
public class test4{ public static void main(String[] args) { //创建一个用来装斐波那契数列的数组,假设只获取前十个数 int [] arr = new int[10]; //先将前两个放入数组 arr[0] = 1; arr[1] = 1; //循环获得剩下斐波那契数 for (int i = 2; i <arr.length; i++) { arr[i]=arr[i-1]+arr[i-2]; } //输出这十个数 String s = Arrays.toString(arr); System.out.println("前十个斐波那契数是:"+s); } }
下一篇:
最精简:设计模式之模板方法模式