斐波那契数列:
斐波那契数列又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”;
指的是这样一个数列:1、1、2、3、5、8、13、21、34、……其规律是从第3个数开始,每个数都等于它前两个数的和。
方法一:
递归实现:
我们在main函数里面利用for循环得出十个数字的斐波那契数列,前两个数字是1,第三个数字开始就等于前两个数字之和fibonacci(number - 1) + fibonacci(number - 2)
package Lq_project;
public class Feibonaqi {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.printf("Fibonacci of %d is: %d\n", i, fibonacci(i));
}
}
public static long fibonacci(int number) {
if ((number == 0) || (number == 1)) {
return number;
}else {
return fibonacci(number - 1) + fibonacci(number - 2);
}
}
}
运行结果:
方法二:
循环实现:
确定了第一个数和第二个数都是1,从第三个数开始循环,进行前两个数相加求和,每次相加之后更新a1和a2,得出a3.
package Lq_project;
public class Feibonaqi {
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);
}
}
}
运行结果:
方法三:
数组加循环实现:
首先定义一个长度为10的数组,将第一个和第二个数赋值为1,再利用for循环进行相加得出后面七个数,最后将这十个数以数组形式输出
package Lq_project;
import java.util.Arrays;
public class Feibonaqi {
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);
}
}
运行结果: