How to sum the factorials of the digits of a number in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function factorial(ByVal n As Integer) As Integer
        Return If((n = 1 OrElse n = 0), 1, n * factorial(n - 1))
    End Function

    Public Shared Function sumFactorialDigits(ByVal num As Integer) As Integer
        Dim sum As Integer = 0

        While num <> 0
            sum += factorial(num Mod 10)
            num = num / 10
        End While

        Return sum
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim number As Integer = 345
			
        Console.Write("sum factorial digits = " & sumFactorialDigits(number))
    End Sub
End Class
	
	

' run:
'
' sum factorial digits = 150
'

 



answered Jan 2, 2024 by avibootz
...