Scala - Recursion Functions

Recursion plays a big role in pure functional programming and Scala supports recursion functions very well. Recursion means a function can call itself repeatedly.

Try the following program, it is a good example of recursion where factorials of the passed number are calculated.

Example

object Demo {
def main(args: Array[String]) {
for (i <- 1 to 10)
println( "Factorial of " + i + ": = " + factorial(i) )
}

def factorial(n: BigInt): BigInt = {
if (n <= 1)
1
else
n * factorial(n - 1)
}
}

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

\>scalac Demo.scala
\>scala Demo

Output

Factorial of 1: = 1
Factorial of 2: = 2
Factorial of 3: = 6
Factorial of 4: = 24
Factorial of 5: = 120
Factorial of 6: = 720
Factorial of 7: = 5040
Factorial of 8: = 40320
Factorial of 9: = 362880
Factorial of 10: = 3628800
scala_functions.htm

Useful Video Courses

Video

Scala Online Training

82 Lectures 7 hours

Video

Apache Spark with Scala - Hands On with Big Data

23 Lectures 1.5 hours

Video

Delta Lake with Apache Spark using Scala

52 Lectures 1.5 hours

Video

Apache Spark with Scala useful for Databricks Certification

76 Lectures 5.5 hours

Video

Machine Learning with Apache Spark 3.0 using Scala

69 Lectures 7.5 hours