Fibonacci Program Using Recursion in Scala | fibonacci scala program
The Fibonacci series is a sequence of numbers in which each number is the sum of the two preceding numbers ones.
The sequence starts with 0 and 1,
and then each subsequent number is the sum of the two previous numbers. The Fibonacci series is look like this:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ...
Let's See the Fibonacci Program Using Recursion in Scala.
To generate the Fibonacci series, you can use a loop or a recursive function and pattern matching.
Example 1 with pattern matching
def fib1( n : Int) : Int = n match {
case 0 | 1 => n
case _ => fib1( n-1 ) + fib1( n-2 )
}
Example 2 with Recursion
package com.developerIndian.usecase
class FibonacciDemo {
}
object FibonacciDemo{
def fibonacci(n: Int): Int = {
if (n <= 0) {
throw new IllegalArgumentException("Input is always positive integer.")
} else if (n == 1 || n == 2) {
1
} else {
fibonacci(n - 1) + fibonacci(n - 2)
}
}
def main(args: Array[String]): Unit = {
try {
val n = 12 // Fibonacci for a different number.
println(s"The ${n}th Fibonacci number is: ${fibonacci(n)}")
} catch {
case ex: IllegalArgumentException =>
println(ex.getMessage)
}
}
}
Conclusion :
Although straightforward, the recursive method can lose efficiency for bigger values of n because it involves repeated calculations.
Memorization or dynamic programming techniques can be used to store interim findings and reduce the need for repeated computations.
This Solution is provided by
Shubham mishra This article is contributed by Developer Indian team. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.Also folllow our instagram , linkedIn , Facebook , twiter account for more