无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci数列。它可以递归地定义为:
F(n)=1 n=0
F(n)=1 n=1
F(n)=F(n-1)+F(n-2) n>1
这是一个递归关系式,它说明当n>1时,这个数列的第n项的值是它前面两项之和。它用两个较小的自变量的函数值来定义一个较大自变量的函数值,所以需要两个初始值F(0)和F(1)。
代码如下:
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] args) {
System.out.println("请输入整数n值");
Scanner a = new Scanner(System.in);
int n = a.nextInt();
int[] f = new int[n];
//为数列赋值
for (int i = 0; i <f.length; i++) {
f[i]=feibonaci(i);
}
System.out.println("得到的斐波那契数列为:");
//输出斐波那契数列
for(int p : f) {
System.out.print(p+"\t");
}
}
public static int feibonaci(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
//递归调用
return feibonaci(n - 1) + feibonaci(n - 2);
}
}
}