java递归方法

一个方法体内调用他自身,称为方法递归。

方法递归是一种隐式的循环,Tahiti重复执行某段代码,但这种重复执行无需循环控制

/*
Author:oliver QIN
DATE:2015-12-19
DESC:递归方法
已知一个数列:f(0)=1,f(1)=4,f(n+2)=f(n)+2*f(n+1),求f(3)
*/
public class Recursive
{
    public static int fn(int n){
        if(n==0)
        {
            return 1;
        }
        if(n==1)
        {
            return 4;
        }
        else
        {
            /*
              令m=n+2,那么fn(m)=f(m-1)+f(m-2)
              方法中调用它自身就是方法递归
            */
            return 2*fn(n-1)+fn(n-2);
        }
    }
    public static void main(String[] args){
        //输出fn(10)的结果
        System.out.println(fn(3));
    }
}

/*
   说明:在上述方法中的f(3)=f(1)+2f(2),f(2)=f(0)+2*f(1)=1+8=9
   所以f(3)=4+2*9=22
*/

 

posted @ 2015-12-20 00:16  OLIVER_QIN  阅读(271)  评论(0编辑  收藏  举报