How to square every digit of a number in VB.NET

4 Answers

0 votes
Imports System

Public Class Program
    Public Shared Function SquareDigits(ByVal number As Integer) As Integer
        Dim str = number.ToString()
        Dim result = ""

        For i = 0 To str.Length - 1
            Dim ch As Char = str(i)
            Dim num As Integer = Integer.Parse(ch.ToString())
            result &= (num * num)
        Next

        Return Integer.Parse(result)
    End Function

    Public Shared Sub Main()
        Dim num As Integer = 234
	
        num = SquareDigits(num)
	
        Console.Write(num)
    End Sub
End Class




' run:
'
' 4916
'

 



answered Aug 4, 2023 by avibootz
0 votes
Imports System
Imports System.Linq

Public Class Program
    Public Shared Function SquareDigits(ByVal number As Integer) As Integer
        Dim result = number.ToString().ToCharArray().
					Select(AddressOf Char.GetNumericValue).
					Select(Function(n) (n * n).ToString()).
					Aggregate("", Function(accumulator, str) accumulator & str)
						
        Return Integer.Parse(result)
    End Function

    Public Shared Sub Main()
        Dim num As Integer = 234
						
        num = SquareDigits(num)
						
        Console.Write(num)
    End Sub
End Class





' run:
'
' 4916
'

 



answered Aug 4, 2023 by avibootz
0 votes
Imports System

Public Class Program
    Public Shared Function SquareDigits(ByVal number As Integer) As Integer
        Dim result = ""

        While number <> 0
            Dim remainder As Integer = number Mod 10
            number = number / 10
            result = (remainder * remainder) & result
        End While

        Return Integer.Parse(result)
    End Function

    Public Shared Sub Main()
        Dim num As Integer = 234
		
        num = SquareDigits(num)
		
        Console.Write(num)
    End Sub
End Class







' run:
'
' 4916
'

 



answered Aug 4, 2023 by avibootz
0 votes
Imports System
 
Public Class Program
    Public Shared Function SquareDigits(ByVal number As Integer) As Integer
        Dim digit As Integer, result As Integer = 0, mul As Integer = 1
 
        While number > 0
            digit = number Mod 10
            result += digit * digit * mul
            mul = mul * if ((digit <= 3), 10, 100)
            number = number \ 10
        End While
 
        Return result
    End Function
 
    Public Shared Sub Main()
        Dim num As Integer = 234
             
        num = SquareDigits(num)
             
        Console.Write(num)
    End Sub
End Class
 
 
 
 
 
 
' run:
'
' 4916
'

 



answered Aug 4, 2023 by avibootz
edited Aug 5, 2023 by avibootz

Related questions

1 answer 116 views
2 answers 148 views
2 answers 159 views
2 answers 145 views
1 answer 110 views
1 answer 95 views
95 views asked Aug 4, 2023 by avibootz
...