首页 > 其他 > 详细

我关于递归的一些理解

时间:2021-03-16 22:17:39      阅读:28      评论:0      收藏:0      [点我收藏+]

递归

递归可以作为一种解决问题的思想,简单来说就是自己调用自己,可以用少量的代码解决一些复杂的问题,并且这个问题是一个重复的过程,但是递归必须要有一个递归停止的条件,如果递归不停止的话就会出现“爆栈”现象

 

这里我们使用求一个数的阶层可以来理解递归

1!=1

2!=2 * 1 -----> =2 * 1!

3!=3 * 2 * 1 -----> =3 * 2! ----->3 * 2 * 1!

public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       while (scanner.hasNextInt()){
           System.out.println(f(scanner.nextInt()));
      }
  }
//   求阶层的方法
   public static int f(int n){
       if(n==1){
           return 1;
      }else{
           return n*f(n-1);
      }
  }

当n=2时,执行2 * f(1),f(1)也就是n=1时

当n=3时,执行3 * f(2),f(2)也就是n=2时

.....

结果如下,在这里n==1的判断就是递归的结束.

技术分享图片

我关于递归的一些理解

原文:https://www.cnblogs.com/xu-nan/p/14545239.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!