一个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 ... 
随机推荐
- 自动化测试实施的几个idea
			UI检查.测试的一个idea 在电子商务网站中, 为达到较好的用户体验, 可能页面上会有大量的UI设计,一堆css.ajax效果等,敏捷开发中, UI变动更是带来了测试的苦恼.对于回归组catch U ... 
- 如何在GeoServer上发布一张地图
			在GeoServer上发布一张地图步骤大致如下: 先准备一张地图,格式可以是:jpg.png.tif等. Jpg文件对应的坐标信息文件为jgw格式文件,投影文件为prj文件;Tif文件对应的坐标信息文 ... 
- 【转】Installing OpenCV on Debian Linux
			In this post I will describe the process of installing OpenCV(both versions 2.4.2 and 2.4.3) on Debi ... 
- 【HTML】Intermediate7:Sectioning
			1.</article> 2.</section> can use h1 elements at the start of each section,which would b ... 
- 【HTML】Beginner5:List
			1.Order list </ol> numbered 2.Unorder list </ul> bulleted list 3.List item </li> 4 ... 
- HDU POJ 1015 Jury Compromise(陪审团的人选,DP)
			题意: 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团.选m人的办法是:控方和辩方会根据对候 ... 
- 活用maven使web.xml可以用maven变量
			活用maven使web.xml可以用maven变量 废话不多说,直接上代码 <build> <finalName>${finalWarName}</finalName&g ... 
- 无法连接 mysql
			==================================================================================================== ... 
- 部署 外网 ASP.NET程序时, IIS安全性 配置 -摘自网络
			最近,和朋友们在聊及ASP.NET程序的安全性没有JAVA高,IIS(Internet Infomartion Server)的存在很多漏洞(以及新型蠕虫,例如Code Red 和Nimda),安全得 ... 
- Hadoop概念学习系列之如何去找到历史版本的Hadoop发行包(三十四)
			如何去找到历史版本的Hadoop发行包 找到Hadoop历史版本 这里我需要的Hadoop版本是2.0.3.打开hadoop的下载页面 http://www.apache.org/dyn/closer ... 
