Quick actions

cmd+k|ctrl+k

Navigation

Languages

Recursion

Snippet info

Language

Kotlin

Visibility

public

Author

habib17

Created

2019-11-02T08:24:34Z

Updated

2019-11-02T08:24:34Z

fun main(args : Array<String>){
    println(factorial(8))
   //  println("Faktorial dari 8 adalah ${simpleFaktor(8)}")
   println(factorialTail(8))
    println(factorialtailrec(8))
}

fun factorial(n: Int): Int{
    return if(n == 1){
        n
    }
    else{
        var result = 1
        for (i in 1..n){
            result *=i
        }
        result
    }
}
//factorialBisaHitungBanyak
fun factorialTail(n: Int, result: Int = 1): Int {
    val newResult = n * result
    return if (n == 1) {
        newResult
    } else {
        factorialTail(n - 1, newResult)
    }
}
fun simpleFaktor(n: Int): Int{
    return if (n == 1){
        n
    }
    else{
        n * factorial(n - 1)
    }
}

tailrec fun factorialtailrec(n: Int, result: Int = 1): Int {
    val newResult = n * result
    return if (n == 1) {
        newResult
    } else {
        factorialtailrec(n - 1, newResult)
    }
}
INFO