一个fibonacci数列简单求和的问题
前段时间老师在讲函数调用的时候,用Fibonacci数列来演示了一下,因为以前没怎么接触过Fibonacci,所以当时很懵。
当时让求的是Fibonacci数列中,第N位值为多少,当时老师写的是:

之后呢,老师留的做作业是:求Fibonacci数列前N位的和,晚上自习的时候在想,求和的话必须需要用For循环,懵懵懂懂的写下了以下代码:
public class Fibonacci{
public static void main(String[] args){
int i =; //声明一个int类型的变量i 并赋值5
int b = ; //声明一个int类型的变量b 代表和
for(int a = i; a >= ; --a){ // for循环:a= i = 5
b += Fibonacci(a); //调用Fibonacci方法 并赋值给b
}
System.out.println( b );
}
public static int Fibonacci(int n){//斐波那契数列代码,此处就不详说了。
if (n == ) {
return ;
}
if (n == ) {
return ;
}else{
return Fibonacci(n-) + Fibonacci(n-);
}
}
}
可得出结果,这个地方要感谢图图同学,他告诉我用迭代实现Fibonacci的和,我仔细看了一下,并用此方法得出结果:
public class Fei_Bo_Na_Qi{
public static void main(String[] args){
int m = ;
System.out.println( "斐波那契数列的 第 "+m+"位数 为: "+m1(m) );// 在输出的时候调用函数
}
public static int m1(int i){ //创建方法
if (i == ) { //if如果... 如果等于1 就执行下面java语句
return ; // 返回值 为0,返回给m1 并且结束一下java语句
}
if (i == ) { //if如果... 如果等于2 就执行下面java语句
return ; //返回值 为1 并结束一下Java语句
} else { //如果不==2 也不==1 就执行一下java语句
int a = ; // 在这里代表斐波那契数列的第一个数 用int数据类型 声明一个变量 变量名字为a 并赋值为0
int b = ; // 这里代表斐波那契的第二个数
int c = ; //这里代表斐波那契的第三个数
int e = ;
for(int j=; j <=i ; ++j){ //for循环 这里这个i-2 是什么意思呢?因为如果等于3的时候,是这里运算的第一个,就是等于3的时候,在这里等于1 额 可以这么说吧 因为等于1 和 2 的时候都在上面输出,要是在这里不减去2的话,会循环三次 那就影响结果了
//recycle code block
c=a+b; // 把a和b的和 赋值给c 因为除了前两位 后面的每一位都是由前两位的和组成的
e+=c; //这是把前N列的数加起来
System.out.println( a+"+"+b+"斐波那契数列的 第 "+j+" 位 的值为"+"="+c ); //输出 a+b=c
a=b; //b代表数列的第二个,a代表数列的第一个,c代表数列的第三个 我吧b赋值给a a就等于第二个了
b=c; //再把c赋值给b b就等于数列的第三个了 那么下次循环,c 就是数列的第四个了 一次类推
}
System.out.println( "斐波那契数列的 前 "+ i +" 位数 的和为: "+(e+) ); //这是输出前N列的和
return c; //等输出完设置的数列 再把c 返回到m1 再返回到方法的调用出(也就是main方法的输出哪里,因为在那里调用的,)方法不调用不执行,调用才执行,并把值返回到方法的调用出
}
}
}
或许有多于步骤和不合理的地方,但已经是现阶段能做的最好的了,望大家多多指导,谢谢!
一个fibonacci数列简单求和的问题的更多相关文章
- 用Python输出一个Fibonacci数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列” 用文字来说, ...
- fibonacci 数列及其应用
fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21……这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...
- BNU 13024 . Fi Binary Number 数位dp/fibonacci数列
B. Fi Binary Number A Fi-binary number is a number that contains only 0 and 1. It does not conta ...
- 求Fibonacci数列通项公式
0. Intro \[f_n=\begin{cases} 0 & (n=0) \\ 1 & (n=1) \\ f_{n-1}+f_{n-2} & (n>1) \end{c ...
- 入门训练 Fibonacci数列
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时, ...
- 【编程题目】题目:定义 Fibonacci 数列 输入 n,用最快的方法求该数列的第 n 项。
第 19 题(数组.递归):题目:定义 Fibonacci 数列如下:/ 0 n=0f(n)= 1 n=1/ f(n-1)+f(n-2) n=2输入 n,用最快的方法求该数列的第 n 项. 思路:递归 ...
- 蓝桥杯 入门训练 Fibonacci数列(水题,斐波那契数列)
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非 ...
- 蓝桥杯 入门训练 Fibonacci数列
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. ...
- Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
随机推荐
- LoadRunner 你不知道的事之——内存使用
LoadRunner的使用相信大家很熟悉,但是可能很少有人去关注一个Vuser 在以线程模式和进程模式下的内存开销情况,下面通过个人的试验得出一组数据供大家参考,只有你真正了解了,才能做的更深入. 测 ...
- (转)使用pth文件,让python方便的import自己写的模块
转自:http://www.elias.cn/Python/PythonPath 文章简单易懂,有理有据. 有时候我们正在修改或调试的程序会是一个库,为修改方便,我们可能不大希望把它放到 site-p ...
- python调用系统命令 shell命令
使用python调用系统命令,基本有3种选择: 1. 使用os模块的system方法 import os os.system('ls') 2. 使用os模块的popen方法 import os os. ...
- Nhibernate Icreteria 分页查询
1.创建查询条件,条件为一个ICreterion的列表 /// /// 创建Criteria(不含order,因为获取总数的时候,为了性能考虑,不加order) /// ...
- win7下安装 WINDRIVER.TORNADO.V2.2.FOR.ARM
[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR.ARM下载 http://115.com/file/dlfo8zpy http://115.com/file/c4r01l ...
- Java和C++的区别
这是一个Java语言和C++语言之间的比较. 目录 [隐藏] 1 设计目标 2 语言特性 2.1 语法 2.2 语义 2.3 资源管理 2.4 库 2.5 运行时 2.6 模板 vs. 泛型 2.7 ...
- java动态编程库,利用动态编程打印运行时调用全景(函数调用关系链)
如果是一般java程序,不追求性能极致,想使用方便,推荐使用 Javassist 库. 如果是android程序,或者一般java程序欲追求性能极限,推荐使用 asm for java 及 asmde ...
- AJAX中文乱码PHP完美解决(IE和Firefox兼容)
最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助. 众所周知,使用AJAX传送和接收中文参数时,如果不在客 ...
- linux定时器用法
linux定时器 原文出自http://www.cnblogs.com/processakai/archive/2012/04/11/2442294.html 今天看书看到了关于alarm的一些用法 ...
- Modules you should know in Python Libray
前两天被问到常用的python lib和module有哪些?最常用的那几个,其他的一下子竟然回答不上.想想也是,一般情况下,遇到一个问题,在网上一搜,顺着线索找到可用的例子,然后基本没有怎么深究.结果 ...