您的位置:首页 > 其它

斐波那契数列

2016-12-06 10:58 155 查看
java代码:

import java.util.Scanner;

/**
* 斐波那契数列(Fibonacci sequence),又称黄金分割数列、
* 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,
* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
* 在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>2,n∈N*)
*/
public class Fibonacci {

/**
* 递归实现方式
*/
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;
}

/**
* 测试
*/
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("请输入斐波那契数列参数n:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();

// System.out.println(fibonacci(n));
// System.out.println(fibonacciNormal(n));

for (int i = 1; i <= n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: