Java递归算法

递归算法 事实上就是程序的自身调用。

在做递归算法的时候,必需要有一个明白的递归结束条件,
当满足了这个条件的时候就不再递归了。


以下用Java实现两个基础的递归算法

/**
 * 求1+2+3+...+n的和
 */
class Recurrent {
    int sum = 0;
    int flag = 1;

    public void count(int number) {

        sum += flag;
        flag++;
        if (flag <= number) {
            count(number);
        }

    }
}

public class T {

    public static void main(String[] args) {
        Recurrent r = new Recurrent();
        r.count(5);
        System.out.println(r.sum);
    }

}
/**
 * 求n的阶乘
 */
class Factorial {
    public long mul(int n) {
        if (n <= 1) {
            return 1;
        } else {
            return n * mul(n - 1);
        }
    }
}

public class T {

    public static void main(String[] args) {
        Factorial fac = new Factorial();
        System.out.println(fac.mul(15));
    }
}


作者:itmyhome

posted @ 2017-07-20 09:24  jzdwajue  阅读(132)  评论(0编辑  收藏  举报