How to check if a number is a strong number or not in Scala

1 Answer

0 votes
// Strong numbers are the numbers that the sum of the factorial of its digits
// is equal to the original number
    
// 145 is a strong number: 1 + 24 + 120 = 145
  
object StrongNumber {
  def calculateFactorial(number: Int): Int = {
    var fact = 1
    for (i <- 1 to number) {
      fact *= i
    }
    fact
  }

  def main(args: Array[String]): Unit = {
    val number = 145
    var sum = 0
    var n = number

    while (n != 0) {
      val remainder = n % 10
      val fact = calculateFactorial(remainder)
      n = n / 10
      sum += fact
    }

    if (sum == number) {
      println("Strong Number")
    } else {
      println("Not Strong Number")
    }
  }
}



   
/*
           
run:
     
Strong Number
       
*/

 



answered Sep 17, 2024 by avibootz

Related questions

1 answer 136 views
1 answer 122 views
1 answer 121 views
1 answer 175 views
1 answer 188 views
...