您的位置:首页 > 编程语言 > Java开发

java实现斐波拉契数列

2015-11-04 12:42 417 查看
package algorithm.cxg.Fibonacci;

import java.util.Scanner;

/**
* 实现斐波拉切函数
* 斐波拉切数列:
* 由0和1开始,之后的费波那西系数就由之前的两数相加,
* 数列形式如下:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………
* 在数学上,是以递归的方法来定义:
* F_0=0
* F_1=1
* F_n = F_{n-1}+ F_{n-2}
* 实现需求:输入序号n返回得到对应费波那西数
* @author admin
*
*/
public class Fibonacci {
public static void main(String[] args) {
/*//定义数列的前两项
int a=0,b=1;
//定义第n项
Scanner scan = new Scanner(System.in);
System.out.println("请输入斐波拉切数列的30项以内第n项:");
int n = scan.nextInt();
//输出
System.out.println("斐波那契数列30项以内的第n项的和为:");
System.out.print(a+"\n"+b+"\n");
//根据数列得出的函数循环计算
for (int i = 0; i <= 30 ; i++) {
n=a+b;
a=b;
b=n;
System.out.println(n+"\t");
}*/
System.out.println("斐波那契数列30项以内的第n项的和为:");
for (int j = 1; j <= 20; j++) {
System.out.print(getFibonacco(j) + "\t");
}
}
//递归函数实现数列
public static int getFibonacco(int i) {
if (i==1) {
return 0;
} else if (i==1 || i==2) {
return 1;
} else {
return getFibonacco(i-1)+getFibonacco(i-2);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: