文档章节

Java实现斐波那契数列

土茯苓
 土茯苓
发布于 2017/03/27 14:08
字数 214
阅读 8
收藏 0

斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。

以下是Java代码实现(递归与递推两种方式):

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;  
}  
}  

© 著作权归作者所有

土茯苓
粉丝 32
博文 86
码字总数 137882
作品 0
朝阳
高级程序员
私信 提问
【剑指offer纪念版】--9 斐波那契数列

题目:斐波那契数列 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:  求解 通过求解第10项的调用过程图来分析: 单元测试 待补充

细节探索者
01/19
11
0
awk, c, java 的函数递归调用速度测试

前面测了三者的IO速度,现在来测测它们的函数递归调用的速度,这里的测试方案是使用斐波那契数列最低效的递归写法来进行测试,首先测试文件包含1-32的所有整数。 fibonacci.awk: #!/bin/awk ...

Storm.X
2011/04/11
527
0
剑指offer 07斐波那契数列

现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 java版本: public class Solution { } js版本: function Fibonacci(n){ } 总结:核心思想就是c=a+b;b=a...

无敌小阿没
2018/07/31
0
0
使用JRockit 能否加速Myeclipse

最近在笔记本上重新部署MyEclipse。 安装完成后经常要做的就是优化一下。 之前看到过好多优化的文章,大部分都是复制粘贴。但有一篇有一个新观点。 更换MyEclipse的Java运行环境来加速。并推...

李笑石
2013/03/28
279
5
使用JavaScript ES6的新特性计算Fibonacci(非波拉契数列)

程序员面试系列 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Java Marker Interface(标记接口) 使...

Mr_zebra
2018/09/04
11
0

没有更多内容

加载失败,请刷新页面

加载更多

kubernetes pod exec接口调用

正文 一般生产环境上由于网络安全策略,大多数端口是不能为集群外部访问的。多个集群之间一般都是通过k8s的ApiServer组件提供的接口通信,如https://192.168.1.101:6443。所以在做云平台时,...

码农实战
34分钟前
4
0
3_数组

3_数组

行者终成事
今天
8
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部