java实现斐波那契数列
2016-12-21 18:25
363 查看
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
public class Fibonacci {
public static void main(String[] args) {
int n = 1;
System.out.println(fibonacci(n) + ":" + fibonacciNormal(n));
}
// 递归实现方式
public static int fibonacci(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 递推实现方式
public static int fibonacciNormal(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int n1 = 1, n2 = 1, sn = 0;
for (int i = 0; i < n - 2; i++) {
sn = n1 + n2;
n1 = n2;
n2 = sn;
}
return sn;
}
}
public class Fibonacci {
public static void main(String[] args) {
int n = 1;
System.out.println(fibonacci(n) + ":" + fibonacciNormal(n));
}
// 递归实现方式
public static int fibonacci(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 递推实现方式
public static int fibonacciNormal(int n) {
if (n <= 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int n1 = 1, n2 = 1, sn = 0;
for (int i = 0; i < n - 2; i++) {
sn = n1 + n2;
n1 = n2;
n2 = sn;
}
return sn;
}
}
相关文章推荐
- 《Java_斐波那契数列实现方法_改进》
- Java控制台实现斐波那契数列
- 斐波那契数列(fabnacci)java实现
- 用递归算法实现斐波那契数列显示(Java)
- (Java)用递归算法实现斐波那契数列
- Java实现斐波那契数列的四种算法
- Java实现斐波那契数列
- 斐波那契数列的非递归实现 JAVA
- JAVA实现斐波那契数列问题(《剑指offer》)
- 斐波那契数列—java实现
- java实现斐波那契数列
- 剑指offer--面试题9:斐波那契数列--Java实现
- java实现斐波那契数列和约瑟夫环
- java实现斐波那契数列
- 斐波那契数列 Java实现
- Java实现斐波那契数列
- JAVA实现--斐波那契数列
- 斐波那契数列java实现
- java实现斐波那契数列两种写法
- 用递归实现斐波那契数列java实现