JAVA 递归阶乘

/**
 * 
 * @author lsh
 * 
 *        西游记
         猪八戒 vs 蜘蛛精
        猪八戒问老大    你多大?  老大说 我比老二大两岁
        猪八戒问老二    你多大?  老二说 我比老三大两岁
        猪八戒问老三    你多大?  老三说 我比老四大两岁
        .....
        猪八戒问老七    你多大?  老七说 我今年800岁
 */

public class ZZJ {
    
    /**
     * 递归方法
     * @param int i //层级
     */
    
    int getAge(int i) {
        if(1 == i) {
            return 800;
        }else {
            return getAge(i -1 ) +2;
        }
    }
    
    //sum 100
    int addNumber(int i ) {
        if(1 == i) {
            return 1;
        }else {
            return addNumber(i - 1) + i;
        }
    }
    
    int multiplication( int i) {
        if(1 == i) {
            return 1;
        }else {
            return multiplication(i - 1 ) * i ;
        }
    }

    public static void main(String[] args) {
        ZZJ zzj = new ZZJ();
        int age = zzj.getAge(7);
        System.out.println(age);
        
        int sum = zzj.addNumber(100);
        System.out.println(sum);
        
        int mul = zzj.multiplication(5);
        System.out.println(mul);
    }
}

 

posted @ 2018-04-27 20:05  马鞍山  阅读(545)  评论(0编辑  收藏  举报