Fibonacci.java
/**
* 斐波那契数列求解
**/
class Fibonacci{
public static void main(String[] args){
for(int i = 1; i < 30; i++){
System.out.println("fibonacci(" + i + ") = " + fibonacci(i));
System.out.println("fibonacci_01(" + i + ") = " + fibonacci_01(i));
}
}
//迭代求解
public static int fibonacci(int n){
if(n < 1){
return -1;
}
if(n <= 2){
return 1;
}
int res = 0;
int first = 1;
int second = 1;
for(int i = 3; i <= n; i++){
res = first + second;
first = second;
second = res;
}
return res;
}
//递归求解
public static int fibonacci_01(int n){
if(n <= 2){
return 1;
}
return fibonacci_01(n-1)+fibonacci_01(n-2);
}
}
本文介绍了使用Java语言通过迭代和递归两种方法解决斐波那契数列问题,详细解释了每种方法的原理和实现过程。
862

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



