import java.util.Scanner;
//计算斐波那契数
//思路分析
/*
斐波那契数列问题:
数列: 0 1 1 2 3 5 8 13 21 54.。。。。。。
下表: 0 1 2 3 4 5 6 7 8 9 .。。。。。
即: fib(0) = 0
fib(1) = 1
fib(index) = fib(index-2) + fib(index-1) index >= 2
*/
public class Re2 {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.println("请输入你要斐波那契数列元素的下标");
int n = input.nextInt();
int[] Fb = new int[n]; //建立数组保存斐波那契数列
Fb[0] = 0;
Fb[1] = 1;
//fib(Fb,n,2)获得长度为n的斐波那契数列
System.out.println("下标为:" + n + " 的元素为:" +fib(Fb,n,2)[Fb.length - 1]);
}
public static int[] fib(int[] Fb,int n,int index){
if(index == n){
return Fb; //从小往大求斐波那契数列
}else{
Fb[index] = Fb[index-2] + Fb[index-1];
return fib(Fb,n,index+1);
}
}
}
java语言,用递归解决斐波那契数列问题
最新推荐文章于 2022-10-14 17:15:38 发布