用java递归算法求一个数字的阶乘

2025-11-05 16:28:32

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。

用java递归算法求一个数字的阶乘

5、如果觉得小编讲得还不错,那给小编点个赞吧!谢谢!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢