Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

Kotlin Kata - 階乘

輸入正整數 n,回傳 1 * 2 * … * n 的總和

題目保證輸入的 n > 0 且 n < 10

Example 1:

Input: 5 Output: 120,1 * 2 * 3 * 4 * 5 = 120

Example 2:

Input: 1 Output: 1

Example 3:

Input: 9 Output: 362880

fun multiple(n: Int): Int{}

解答

點擊展開解答 第一時間的想法,可以用迴圈來解決
fun multiple(n: Int): Int {
    var sum = 0
    for (i in 1..n) {
        sum *= i
    }
    return sum
}

如果對函數式編程的思維熟悉

我們可以用 reduce() 的想法

來架構這段邏輯

fun multiple(n: Int) = (1..n)
    .reduce { ans, element -> ans * element }

回到 Kotlin Kata 列表