Scala recursive function
Recursive functions play an important role in functional programming languages.
Scala also supports recursive functions.
A recursive function means that the function can call itself.
The above example uses recursive functions to calculate factorials:
object Test {
def main(args: Array[String]) {
for (i <- 1 to 10)
println(i + " the factorial of is: = " + factorial(i) )
}
def factorial(n: BigInt): BigInt = {
if (n <= 1)
1
else
n * factorial(n - 1)
}
}
Execute the above code, and the output is as follows:
$ scalac Test.scala
$ scala Test
The factorial of 1 is: = 1
The factorial of 1 is: = 2
The factorial of 3 is:=6
The factorial of 4 is:=24
The factorial of 5 is:=120
The factorial of 6 is:=720
The factorial of 7 is:=5040
The factorial of 8 is:=40320
The factorial of 9 is:=362880
The factorial of 10 is:=3628800