• Home
  • About
    • Moon photo

      Moon

      개발자는 자고 싶다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

백준 - 10870 피보나치 수 5

05 Jun 2022

Reading time ~1 minute

문제

10870 피보나치 수 5

screencaptures

답

1. kotlin code: 재귀

fun main() {
    q10870()
}

fun q10870() {
    val n = readln().toInt()

    println(fibonacci(n))
}

fun fibonacci(n: Int): Int = when(n) {
    0, 1 -> n
    else -> fibonacci(n - 1) + fibonacci(n - 2)
}

2. kotlin code: 꼬리 재귀

fun main() {
    q10870()
}

fun q10870() {
    val n = readln().toInt()

    println(fibonacciWithTailRec(n))
}

tailrec fun fibonacciWithTailRec(n: Int, a: Int = 0, b: Int = 1): Int = when(n) {
    0 -> a
    1 -> b
    else -> fibonacciWithTailRec(n - 1, b, a + b)
}


baekjoonkotlin코틀린백준브론즈수학구현재귀 Share Tweet +1