在学习递归中,实现N的阶乘是基础。
本篇文章将会介绍这个题:
思想介绍
首先,递归是不同于循环的。在Java中,一个方法在执行过程当中调用到了自身,就是”递归“。
我们首先要思考,怎样讲原问题划分成其子问题,以此来寻找递归的出口。
代码展示
public class Demo {
//递归求 N 的阶乘
public static void main(String[] args) {
}
public static int di(int n ){
if(n == 1){
return 1; //值为1时直接返回输出即可
}
return n*di(n-1); //这里用到了递归的思路,n * (n-1)!
}
}