// // factorial functions for Int, Long, and BigInt // def factorial(n : Int) : Int = { if (n > 1) n * factorial(n-1) else 1 } def factorial2(n : Long) : Long = { if (n > 1) n * factorial2(n-1) else 1 } def factorial3(n : BigInt) : BigInt = { if (n > 1) n * factorial3(n-1) else 1 } // example uses // print(factorial3(10)) // print(factorial3(30000))