递归算法:求解1!+2!+3!+...+n!

递归算法:求解1!+2!+3!+...+n!。

   /**
     * 递归方法计算   1!+2!+3!+4!....+n!
     * @param number
     */
    public static void sum(int number) {
        int sum = 0;
        int temp = 0;
        for(int i=1; i<=number; i++) {
            temp = function2(i);
            sum += temp;
        }
        System.out.println(sum);
    }
    public static int function2(int number) {
        if(number == 1) {
            return 1;
        }else {
            return function2(number-1)*number;
        }
    }

另外,还有一般的方法进行计算1!+2!+3!+...+n!。

代码如下:

   /**
     * 一般方法计算     1!+2!+3!+4!....+n!
     * @param number
     */
    public static void function(int number) {
        int sum = 0;
        int temp = 1;
        for(int i=1; i<=number; i++) {
            temp = temp * i;
            sum += temp;
        }
        System.out.println(sum);
    }

 

posted @ 2017-12-21 20:06  superdrew  阅读(7633)  评论(0编辑  收藏  举报