Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.42 KB | None | 0 0
  1. class Factorial1 {
  2.     @tailrec    // compilation ERROR
  3.     def factorial(n: Int): Int = {
  4.         if (n <= 1) 1
  5.         else n * factorial(n - 1)
  6.     }
  7. }
  8.  
  9. //----------------------------------------
  10.  
  11. import scala.annotation.tailrec
  12.  
  13. class Factorial2 {
  14.     def factorial(n: Int): Int = {
  15.  
  16.         @tailrec    // OK
  17.         def factorialAcc(acc: Int, n: Int): Int = {
  18.             if (n <= 1) acc
  19.             else factorialAcc(n * acc, n - 1)
  20.         }
  21.  
  22.         factorialAcc(1, n)
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement