斐波那契数列的非递归实现(Java)
来源:互联网 发布:淘宝申请部分退款 编辑:程序博客网 时间:2024/05/16 10:25
package chapter_4;public class Fibonacci {int i = 1;int j = 1;public void fibonacci(int n) {int time = 0;//初始化计数器int a = 0;//初始化中间变量int c[] =new int[n];//记录数列所有值c[0] = 1;c[1] = 1;if (n > 2) {time = 3;//第三项while (time < n + 1) {a = i + j;j = i;//保存F(n-2)i = a;//保存F(n-1)c[time-1] = a;time++;}}for(int k=0;k<=c.length-1;k++){ System.out.println("第"+(k+1)+"个数"+c[k]);}}public static void main(String[] args) {Fibonacci f = new Fibonacci();f.fibonacci(6);}}
将近半年没写代码,手都生了,于是决定重新看一遍Java编程思想这本书。
p75页的练习9就是写一个程序输出斐波那契数列的前五位。
斐波那契数列的前五项是1,1,2,3,5。.其中第三项是前两项的和。既F(n)=F(n-2)+F(n-1)
很明显,前两项是无法通过动态变量实现的,只能静态定义,于是我设置了两个变量i,j,初始值都为1,
然后新建了一个数组c 在c[0],c[1]保存这两个变量,c的作用是记录斐波那契数列的所有值。
当n等于3的时候,就可以动态计算了。我决定用while循环来写。我设置了中间变量a记录项数为n的时候斐波那契数列的值,并设置了计数器time
n等3时,a=1+1=2.所以a=i+j。当n=4时。a=1+2,所以我令i=a,j=i。i记录F(n-1)的值,j记录F(n-2)的值。具体代码为package chapter_4;
- 斐波那契数列的非递归实现 JAVA
- 斐波那契数列的非递归实现(Java)
- Java学习之旅--斐波那契数列的递归和非递归实现
- 斐波那契数列的非递归实现
- 斐波那契数列的非递归实现
- 斐波那契数列的非递归实现
- 斐波那契数列递归与非递归实现(JAVA语言描述)
- 斐波那契数列递归与非递归实现(JAVA语言描述)
- Fibonacci(斐波那契)数列的递归与非递归实现 python
- 递归和非递归实现斐波那契数列
- 斐波那契数列递归非递归实现
- 实现斐波那契数列的递归、非递归及尾递归。
- 斐波那契数列的递归及非递归
- 小朋友学C语言(16):斐波那契数列的非递归实现
- 斐波那契数列的递归实现和非递归实现
- 斐波那契数列的递归实现和非递归实现
- PHP实现斐波那契数列(递归 + 非递归)实现
- 非递归实现斐波那契数列
- 模板编译模型
- New Apache Project 'Drill' Aims to Speed Up Hadoop Queries
- 打造自己的wave音频播放器-使用waveOutOpen与waveOutWrite实现
- Linux sleep将目前动作延迟一段时间命令详解
- New Apache project will Drill big data in near real time
- 斐波那契数列的非递归实现(Java)
- Let's pay attention & join the Drill Project
- 程序员怎么才能提高代码编写速度?
- 2013年考研英语写作高分必备35个句型总结
- POJ 3352 Road Construction 无向图割边 + 缩点
- watchdog概述
- C#多线程操作界面控件的解决方案
- javascript 取form元素、form元素中的input元素值(有待完善)
- SSL握手过程