Java实现斐波那契数列并输出前10000个数值
来源:互联网 发布:淘宝关键词提取工具 编辑:程序博客网 时间:2024/05/16 08:17
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:0、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.math.BigInteger;
import java.util.Scanner;
public class Fibonacci{
public static void main(String[] args) {
System.out.println("请输入您要得到的个数:");
int n = new Scanner(System.in).nextInt();
for (int i = 1; i <= n; i++) {
System.out.println(fibonacciNormal(i) + " " + i);
}
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 BigInteger fibonacciNormal(int n){
if (n == 1) {
return new BigInteger("0");
}
BigInteger n1 = new BigInteger("0"), n2 = new BigInteger("1"), sn = new BigInteger("0");
for (int i = 0; i < n - 1; i++) {
sn = n1.add(n2);
n1 = n2;
n2 = sn;
}
return sn;
}
}
- Java实现斐波那契数列并输出前10000个数值
- 输出斐波那契数列中的前20个数字
- 输出斐波那契数列前40项
- 斐波那契数列 递归输出前n项
- 输出斐波那契数列的前n项
- 输出斐波那契数列前n项:
- Java输出斐波那契数列
- 求斐波那契数列的前10项,并逆序输出,用数组实现
- Java-求斐波那契数列前20项的值并输出
- JAVA之输出斐波那契数列的前10个数
- Java:编写一个程序输出斐波那契数列中的前20个数
- Java实现斐波那契数列
- Java实现斐波那契数列
- java实现斐波那契数列
- JAVA实现--斐波那契数列
- 斐波那契数列java实现
- 斐波那契数列 Java实现
- java实现斐波那契数列
- JS获取时间戳兼容问题
- javascript加载xml文件,兼容Chrome
- 同事们,开始逗闷子了。
- DirectX9中Pixel Coordinates System的一个怪异特性
- Windows下PostgreSQL安装图解
- Java实现斐波那契数列并输出前10000个数值
- XML Schema的基本语法
- 如何在最短的时间内理解Java中的动态代理?
- java-面试0613
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 《AngularJS》--监听angularjs列表数据是否渲染完毕
- 欢迎使用CSDN-markdown编辑器
- #95 – x:Name vs. Name
- mybatis接口的xml常用配置