How to check if a number is strong number or not in VB.NET

1 Answer

0 votes
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

 



answered May 8, 2017 by avibootz
edited May 9, 2017 by avibootz

Related questions

1 answer 158 views
1 answer 670 views
1 answer 117 views
1 answer 174 views
1 answer 187 views
...