In this tutorial, you shall learn how to write a program to find the factorial of a given number in Kotlin.

Kotlin – Factorial

To find the factorial of a given number in Kotlin, we can use recursion function.

The factorial of a number n is defined as the following.

n! = 1*2*3*...*n

Program

1. Find factorial using recursion technique

In the following program, we read a number from user, calculate the factorial of this number using recursion function. We define the recursion function factorial(). This function returns 1 if the argument is zero, else it returns the product of given number and the factorial of the (number-1).

Main.kt

</>
Copy
fun factorial(n: Int): Int {
    return if (n == 0) {
        1
    } else {
        n * factorial(n - 1)
    }
}

fun main() {
    print("Enter an integer : ")
    val num = readLine()!!.toInt()
    val result = factorial(num)
    println("$num! is $result.")
}

Output #1

Enter an integer : 5
5! is 120.

Output #2

Enter an integer : 10
10! is 3628800.

2. Find factorial using For loop statement

In the following program, we use For loop to calculate the factorial of given number.

Main.kt

</>
Copy
fun factorial(n: Int): Int {
    var result = 1
    for (i in 1 until n+1) {
        result *= i
    }
    return result
}

fun main() {
    print("Enter an integer : ")
    val num = readLine()!!.toInt()
    val result = factorial(num)
    println("$num! is $result.")
}

Output #1

Enter an integer : 5
5! is 120.

Output #2

Enter an integer : 10
10! is 3628800.

Reference tutorials for the program

Conclusion

In this Kotlin Tutorial, we learned how to find the factorial of a given number using recursion technique, or For loop statement.