How to check if a number is curious number (sum of the factorials of each digit equal to itself) in VB.NET

1 Answer

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

 



answered Jan 2, 2024 by avibootz
...