描述:查找斐波纳契数列中第 N 个数
所谓的斐波纳契数列是指:
- 前2个数是 0 和 1 。
- 第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
method1:递归法(耗时太长)
<span style="font-size:14px;">public int fibonacci(int n){
if(n==1){
return 0;
}else if(n==2){
return 1;
}else{
return fibonacci(n-1)+fibonacci(n-2);
}
}</span>method2:数组
<span style="font-size:14px;">public int fibonacci(int n){
int[] res=new int[100];
res[0]=0;
res[1]=1;
for(int i=2;i<n;i++){
res[i]=res[i-1]+res[i-2];
}
return res[n-1];
}</span>method3:累加(循环)
<span style="font-size:14px;">public int fibonacci(int n){
if(n==1){
return 0;
}else if(n==2){
return 1;
}else{
int a=0;
int b=1;
int res=0;
for(int i=3;i<=n;i++){
res=a+b;
a=b;
b=res;
}
return res;
}
}</span>
本文介绍了三种计算斐波纳契数列的方法:递归法、使用数组存储中间结果以及通过循环进行累加。对比了不同方法的优缺点,并提供具体的Java代码实现。
1476

被折叠的 条评论
为什么被折叠?



