Java教程

Java 使用递归查找数的阶乘的程序

Java 程序使用递归求一个数的阶乘

在本程序中,您将学习使用 Java 中的递归函数查找和显示数字的阶乘。
要理解此示例,您应该了解以下Java 编程主题:
Java 方法 Java 递归
正数 n 的阶乘由下式给出:
factorial of n (n!) = 1 * 2 * 3 * 4 * ... * n
负数的阶乘不存在。而 0 的阶乘是 1、
在此示例中,您将学习使用递归查找数字的阶乘。访问此页面以了解如何找到 使用循环对数字进行阶乘。。 >

示例: 使用递归的数的因式分解

public class Factorial {
    public static void main(String[] args) {
        int num = 6;
        long factorial = multiplyNumbers(num);
        System.out.println("Factorial of " + num + " = " + factorial);
    }
    public static long multiplyNumbers(int num)
    {
        if (num >= 1)
            return num * multiplyNumbers(num-1);
        else
            return 1;
    }
}
输出
Factorial of 6 = 720
最初,从 main() 函数调用 multiplyNumbers(),并以 6 作为参数传递。
由于 6 大于或等于 1,所以 6 与 multiplyNumbers() 的结果相乘,其中传递 5(num-1)。因为它是从同一个函数调用的,所以它是一个递归调用。
在每次递归调用中,参数 num 的值减 1,直到 num 小于 1、
num的值小于1时,没有递归调用。
每个递归调用都会返回给我们:
6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4