对递归的理解

我认为递归就是:

  1. 不断的调用自身,也就是循环

  2. 有跳出循环的条件

    -------------

  3. 分析

    比如整数5的阶乘是5*4*3*2*1,满足一个公式f(n)

    f(5)=5*f(4);

    f(4)=4*f(3);

    f(3)=3*f(2));

    f(2)=2*f(1);

    f(1)=1;

    综上:f(5)=5*4*3*2*1;

    ---------------

  4. 代码

 public class Digui {
 public static void main(String[] args) {
  System.out.println(f(5));
 }
 private static int f(int i) {
  int sum = 0;
  if (0 == i)
   return (1);
  else
   sum = i * f(i - 1);
  return sum;
 }
}

你可能感兴趣的:(java递归)