java递归算法

1、一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第n位数是多少, 用递归算法实现

public class Test {  
  
    public static void main(String[] args) {  
        System.out.println("结果是:"+Test.foo(30));  
    }  
  
    /** 
     * 递归算法实现 
     */  
    public static int foo(int i){  
        if(i<=0)  
            return 0;  
        else if(i>0 && i<=2)  
            return 1;  
        return foo(i-1) + foo(i-2);  
    }  
}  

 2、输入任意一个整数,返回它的阶乘

public int factorial(int num)    
{    
   //递归    
   if(num == 1)    
   {    
       return 1;    
   }    
   return num*factorial(num-1);   
}  

 

posted @ 2017-11-24 11:20  爱吃橙子  阅读(798)  评论(0编辑  收藏  举报