본문 바로가기

Kotlin

#7.9 Kotlin TAILREC Function example. Use Recursion in Optimised way. Kotlin Android Tutorial

import java.math.BigInteger

fun main(args: Array<String>){
    println(getFibonacciNumber(10000, BigInteger("1"), BigInteger("0")))
}

tailrec fun getFibonacciNumber(n: Int, a: BigInteger, b: BigInteger ): BigInteger {
    if (n == 0)
        return b
    else
        return getFibonacciNumber(n-1, a+b, a)
}

tailrec 은 정말 큰 수를 계산할 수 있게 만들어 준다. 

youtu.be/J2We4LfGZhc