题目:斐波那契数列的定义为:a[n]=a[n-1]+a[n-2],n为整数且n>2。
1、给出a[0]=2,a[1]=4,请编写Java程序,给出任意的整数n,求出a[n]的值。要求采用递归的形式。函数的声明如下:intFibonacci(intn);2、...
1、给出a[0]=2,a[1]=4,请编写Java程序,给出任意的整数n,求出a[n]的值。
要求采用递归的形式。函数的声明如下:int Fibonacci(int n);
2、采用非递归形式,编写Fibonacci函数,求出a[n]的值。
使用JAVA语言完成 谢谢各位亲了 展开
要求采用递归的形式。函数的声明如下:int Fibonacci(int n);
2、采用非递归形式,编写Fibonacci函数,求出a[n]的值。
使用JAVA语言完成 谢谢各位亲了 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
1个回答
展开全部
递归
public static int Fibonacci(int n){
if(n == 0){
return 2;
} else if(n == 1){
return 4;
} else {
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
public static void main(String[] args) {
System.out.println(Fibonacci(10));
}
非递归
public static int Fibonacci2(int n){
int index = 0;
int i = -1;
List<Integer> li = new ArrayList<Integer>();
while(index <= n){
if(index == 0){
i = 2;
} else if(index == 1){
i = 4;
} else {
i = li.get(index - 2) + li.get(index - 1);
}
li.add(i);
index ++;
}
return li.get(n);
}
public static int Fibonacci(int n){
if(n == 0){
return 2;
} else if(n == 1){
return 4;
} else {
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
public static void main(String[] args) {
System.out.println(Fibonacci(10));
}
非递归
public static int Fibonacci2(int n){
int index = 0;
int i = -1;
List<Integer> li = new ArrayList<Integer>();
while(index <= n){
if(index == 0){
i = 2;
} else if(index == 1){
i = 4;
} else {
i = li.get(index - 2) + li.get(index - 1);
}
li.add(i);
index ++;
}
return li.get(n);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询