Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序使用遞歸查找數(shù)字的階乘

Java 實例大全

在此程序中,您將學習使用Java中的遞歸函數(shù)查找并顯示數(shù)字的階乘。

正數(shù)n的階乘由下式給出:

factorial of n (n!) = 1 * 2 * 3 * 4 * ... * n

負數(shù)的階乘不存在。0的階乘是1。

在本示例中,您將學習使用遞歸查找數(shù)字的階乘。訪問此頁面以了解如何使用循環(huán)查找數(shù)字的階乘。

示例:使用遞歸的階乘

public class Factorial {

    public static void main(String[] args) {
        int num = 6;
        long factorial = multiplyNumbers(num);
        System.out.println("" + num + "的階乘 = " + factorial);
    }
    public static long multiplyNumbers(int num)
    {
        if (num >= 1)
            return num * multiplyNumbers(num - 1);
        else
            return 1;
    }
}

運行該程序時,輸出為:

 6的階乘 = 720

最初,從main()函數(shù)中調(diào)用multiplyNumbers(),并以6作為參數(shù)傳遞。

因為6大于或等于1,所以6乘以了multiplyNumbers()的結(jié)果,其中傳遞了5 (num -1)。因為它是從同一個函數(shù)中調(diào)用的,所以它是一個遞歸調(diào)用。

在每次遞歸調(diào)用中,參數(shù)num的值減少1,直到num小于1。

當值num小于1時,將沒有遞歸調(diào)用。

每個遞歸調(diào)用都會返回給我們:

6 * 5 * 4 * 3 * 2 * 1 * 1 (for 0) = 720

Java 實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清