//递归,累计+1,非尾递归
    public static int cap(int n) {
        if (n == 1) {
            return 1;
        }
        return cap((n - 1)) + 1;
    }

    //递归,累计+1,尾递归
    public static int capTail(int n, int m) {
        if (n == 1) {
            return m;
        }
        m++;
        return capTail((n - 1), m);
    }

    //阶乘,非尾递归
    public static int factorial(int n) {
        if (n == 1) {
            return 1;
        }
        return n * factorial((n - 1));
    }

    //阶乘,尾递归
    public static int factorialTail(int n, int m) {
        if (n == 1) {
            return n;
        }
        m *= n;
        return factorialTail((n - 1), m);
    }

 

相关文章:

  • 2021-06-22
  • 2021-08-19
  • 2021-11-19
  • 2021-10-28
猜你喜欢
  • 2021-04-07
  • 2021-10-15
  • 2021-07-19
  • 2021-09-07
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案