Tail Recursion Fibonacci

前端 未结 4 1618
清歌不尽
清歌不尽 2020-12-28 18:53

How do I implement a recursive Fibonacci function with no loops running in O(n)?

4条回答
  •  感情败类
    2020-12-28 19:51

    Scala code for finding nth Fibonacci Number. For more information on Tail Recursion http://nerds.logdown.com/posts/1406258-n-th-fibonacci-number

    object Main {
         def main(args: Array[String]) {
            println(fib(9));
            println(fib(8));
            println(fib(7));
            println(fib(6));
            println(fib(5));
            println(fib(4));
            println(fib(3));
            println(fib(2));
            println(fib(1));
            println(fib(0));
          }
          def fib(n: Int): Int = {
            def fib(n: Int, p :Int, c: Int): Int ={
              if (n == 0) return -1; // undefined
              if (n == 1) return p;
              fib(n-1, c, p + c)
            }
            fib(n, 0, 1);
          }
        }
    

提交回复
热议问题