How to check if a number is abundant number in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function SumNumberProperDivisors(ByVal num As Integer) As Integer
        Dim sum As Integer = 0

        For i As Integer = 1 To Math.Sqrt(num)
            If num Mod i = 0 Then
                If i = (num / i) Then
                    sum += i
                    Console.Write(i & ", ")
                Else
                    sum += i + (num / i)
                    Console.Write(i & ", " & num / i & ", ")
                End If
            End If
        Next

        Return sum - num
    End Function

    Public Shared Sub Main(ByVal args As String())
        Dim num As Integer = 24
        Dim sum As Integer = SumNumberProperDivisors(num)
        Console.WriteLine("num = " & num & " sum = " & sum & " abundant = " & (If(sum > num, "true", "false")))
		
        num = 21
        sum = SumNumberProperDivisors(num)
        Console.WriteLine("num = " & num & " sum = " & sum & " abundant = " & (If(sum > num, "true", "false")))
    End Sub
End Class
	
	
	
	
' run:
' 	
' 1, 24, 2, 12, 3, 8, 4, 6, num = 24 sum = 36 abundant = true
' 1, 21, 3, 7, num = 21 sum = 11 abundant = false
'

 



answered Nov 1, 2022 by avibootz

Related questions

1 answer 108 views
1 answer 99 views
1 answer 107 views
1 answer 101 views
1 answer 98 views
2 answers 103 views
2 answers 109 views
...