Module Module1
' Strong numbers are the numbers that the sum of factorial of its digits
' Is equal to the original number
' 145 Is a strong number 1 + 24 + 120 = 145
Sub Main()
Dim n As Integer = 145, reminder As Integer
Dim sum As Integer = 0, tmp As Integer
tmp = n
While n <> 0
reminder = n Mod 10
sum += factorial(reminder)
n \= 10
End While
If (sum = tmp) Then
Console.WriteLine("{0} is a strong number", tmp)
Else
Console.WriteLine("{0} is not a strong number", tmp)
End If
End Sub
Function factorial(n As Integer) As Long
Dim fact As Long = 1
For i As Integer = 2 To n
fact = fact * i
Next
Return fact
End Function
End Module
' run:
'
' 145 is a strong number