diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2013-04-03 23:41:42 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-11-10 18:03:22 +0100 |
commit | dadc875c05c830d15ee0aebea70aefaea6d3e55e (patch) | |
tree | 5e86616033f1cb49749d45ecc33021b99beec97f /Scala/sandbox/recursion.scala | |
parent | 1242f3e674a2dc1b2a6d4a6597c0d72d0596f469 (diff) | |
download | coursera-dadc875c05c830d15ee0aebea70aefaea6d3e55e.zip coursera-dadc875c05c830d15ee0aebea70aefaea6d3e55e.tar.gz |
Scala : rename files in sandbox
Diffstat (limited to 'Scala/sandbox/recursion.scala')
-rw-r--r-- | Scala/sandbox/recursion.scala | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/Scala/sandbox/recursion.scala b/Scala/sandbox/recursion.scala deleted file mode 100644 index 5488aea..0000000 --- a/Scala/sandbox/recursion.scala +++ /dev/null @@ -1,30 +0,0 @@ - -object Recursion { - - // Tail recursion - tail calls - // the function calls itself (or another one) as last action - // -> the function's stack frame can be reused! - // -> this is as efficient as a loop - def gcd(a: Int, b: Int): Int = - if (b == 0) a else gcd(b, a % b) - - // there is still the multiplication to be performed - // -> the stack frame can't be reused - def fact(n: Int): Int = - if (n == 0) 1 else n * fact(n - 1) - - // tail recursive version of factorial - def factr(n: Int): Int = { - def factIter(acc: Int, n: Int): Int = - if (n == 0) acc else factIter(acc * n, n - 1) - factIter(1, n) - } - - def run = { - println("Recursion") - println(gcd(21, 56)) - println(fact(4)) - println(factr(4)) - } - -} |