How to find all the strong numbers in given range with 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 reminder As Integer
        Dim sum As Integer, tmp As Integer

        For n As Integer = 1 To 1000000

            tmp = n
            sum = 0

            While tmp <> 0
                reminder = tmp Mod 10
                sum += factorial(reminder)
                tmp \= 10
            End While

            If (sum = n) Then
                Console.WriteLine("{0}", n)

            End If

        Next

    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:
' 
' 1
' 2
' 145
' 40585


 



answered May 9, 2017 by avibootz

Related questions

1 answer 135 views
1 answer 116 views
1 answer 188 views
1 answer 117 views
1 answer 2,190 views
1 answer 226 views
...