亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

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

Kotlin 實例大全

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

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

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

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

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

示例:使用遞歸的階乘

fun main(args: Array<String>) {
    val num = 6
    val factorial = multiplyNumbers(num)
    println("$num 的階乘 = $factorial")
}

fun multiplyNumbers(num: Int): Long {
    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。當(dāng)num的值小于1時,不存在遞歸調(diào)用。

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

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

以下是等效的Java代碼:使用遞歸查找階乘的Java程序

Kotlin 實例大全