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
'