用java递归算法求一个数字的阶乘
1、什么是递归算法呢?
它是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数).
2、递归的特点:
(1) 递归就是在过程或函数里调用自身。
(2) 调用函数本身时必须有一个明确结束条件。
3、下面我们举一个例子来说明一下:
import java.util.Scanner;
public class Test {
@SuppressWarnings("resource")
public static void main(String[] args) {
// 从控制台输入一个整数
Scanner in = new Scanner(System.in);
int b = in.nextInt();
// 声明一个Test对象,调用cal方法获得结果
Test test = new Test();
long a = test.cal(b);
System.out.println(a);
}
// 通过递归掉调用最终返回结果
public long cal(int number) {
// 如果数字为1,则直接返回
if (number == 1) {
return 1;
} else {// 否则递归求值
return number * cal(number - 1);
}
}
}
4、我们采用自顶向下的递归算法来求一个数字的阶乘。其运行结果如下:
当我们输入为10时,我们可以用计算器来计算一下,看我们程序写对了没。
结果为3628800。

5、如果觉得小编讲得还不错,那给小编点个赞吧!谢谢!
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:93
阅读量:72
阅读量:186
阅读量:96
阅读量:73