Java实现斐波那契数列
2013-05-23 11:57
811 查看
为了应付软考,补补基础知识,特记录下以备后用。
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
以下是Java代码实现(递归与递推两种方式):
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。
以下是Java代码实现(递归与递推两种方式):
import java.util.Scanner; /** * Fibonacci * * @author tongqian.zhang */ public class Fibonacci { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Please input this fibonacci n:"); int n = scanner.nextInt(); // 假设输入为大于零的整数 System.out.println(fibonacci(6) + ":" + fibonacciNormal(6)); int sum = 0; for(int i = 1; i <= n; i++){ sum += fibonacci(i); } System.out.println(sum); } // 递归实现方式 public static int fibonacci(int n){ if(n <= 2){ return 1; }else{ return fibonacci(n-1) + fibonacci(n-2); } } // 递推实现方式 public static int fibonacciNormal(int n){ if(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; } }
相关文章推荐
- 剑指offer--面试题9:斐波那契数列--Java实现
- 斐波那契数列java实现
- 【剑指offer——JAVA实现】斐波那契数列
- 用递归算法实现斐波那契数列显示(Java)
- Java控制台实现斐波那契数列
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- java实现斐波那契数列和约瑟夫环
- JAVA实现“斐波那契数列”
- Java实现斐波那契数列
- 斐波那契数列的非递归实现 JAVA
- 《剑指offer》编程题java实现(六):斐波那契数列系列问题
- 斐波那契数列-java编程:三种方法实现斐波那契数列
- Java递归实现斐波那契数列
- 三种java编程方法实现斐波那契数列
- 斐波那契数列 Java实现
- java实现斐波那契数列
- 用递归实现斐波那契数列java实现
- Java迭代实现斐波那契数列
- Java还要再学一遍基础(十四)实现斐波那契数列
- 今天了解了斐波那契数列,java实现