斐波那契数列
斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(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\n", 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);
}
}
更多推荐
斐波那契数列java代码实现
发布评论