0
点赞
收藏
分享

微信扫一扫

2022-03-12 北京 递归算法

cnlinkchina 2022-03-12 阅读 46

递归

递归就是方法自己调用自己,每次调用时传入不同的变量。


打印问题

public static void main(String[] args){
  test(4);//打印问题,回顾调用机制
}
public static void  test(int n){
  if(n>2){
      test(n-1);
  }
  System.out.prinln("n="+n);
}
-------------------------------------------------
控制台会打印输出:
n=2
n=3
n=4

原理分析:递归调用的时候,每执行到一个方法,就会开辟一个独立的空间(栈)


 阶乘问题:
 

//阶乘问题
public static int factorial(int n){
    if(n==1){
     return 1;
    }else{
     return factorial(n-1)*n;
    }
}

------------------------------
factorial(1)=1;
factorial(2)=factorial(1)*2=1*2;
factorial(3)=factorial(2)*3=1*2*3;
factorial(4)=factorial(3)*3=1*2*3*4;
举报

相关推荐

0 条评论