How to sum the digit of a factorial of a number in Scala

1 Answer

0 votes
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
 
*/

 



answered Feb 13, 2025 by avibootz
...