zoukankan      html  css  js  c++  java
  • 用递归实现解决斐波那契数列。

    * A:递归概念和注意事项
            * a: 递归概念
                * 递归,指在当前方法内调用自己的这种现象
                * 递归分为两种,直接递归和间接递归
                * 直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法
            * b: 注意事项
                * 递归一定要有出口, 必须可以让程序停下
                * 递归次数不能过多
                * 构造方法,禁止递归

    * A: 递归计算斐波那契数列
            * a:题目分析
                * 1 1 2 3 5 8 13 21
                * 从第三项开始,后面的每一项都等于前面两项的和,第一项和第二项的值为1,作为程序的出口
            * b: 案例代码
                /*
                 *  方法的递归调用
                 *    方法自己调用自己
                 *  适合于,方法中运算的主体不变,但是运行的时候,参与运行的方法参数会变化

    代码演示如下:

     public class DiGuiDemo {
                    public static void main(String[] args) {                    
                        System.out.println(getFBNQ(12));
                    }
                    /*
                     *  方法递归,计算斐波那契数列
                     *  
                     */
                    public static int getFBNQ(int month){
                        if( month == 1)

             return 1;
                        if( month == 2)
                            return 1;
                        return getFBNQ(month-1)+getFBNQ(month-2);
                    }
                }

    关于递归实现的原理:

     调用getsum()返回调用者,依次返回直到返回到main方法中得到其中的值。

  • 相关阅读:
    基于antlr的表达式解析器
    ANTLR语法层的选项及动作
    Understanding ANTLR Grammar Files
    写给Git初学者的7个建议
    Top 8 Diagrams for Understanding Java
    技术面不深入
    一个初级程序员学习新技术的策略
    SoftReference,WeakReference&WeakHashMap
    探索Antlr(Antlr 3.0更新版)
    Five minute introduction to ANTLR 3
  • 原文地址:https://www.cnblogs.com/hnwxp/p/10585350.html
Copyright © 2011-2022 走看看