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 = 145
If (number = sumFactorialDigits(number)) Then
Console.Write("Curious number")
else
Console.Write("Not curious number")
End If
End Sub
End Class
' run:
'
' Curious number
'