object FactorialAndSumDigits {
def sumDigits(num: Long): Int = {
var sum = 0
var n = num
while (n != 0) {
sum += (n % 10).toInt
n /= 10
}
sum
}
def factorial(n: Long): Long = {
if (n == 1 || n == 0) 1
else n * factorial(n - 1)
}
def main(args: Array[String]): Unit = {
val number = 9
val result = factorial(number)
println(s"factorial = $result")
println(s"sum digits = ${sumDigits(result)}")
}
}
/*
run:
factorial = 362880
sum digits = 27
*/