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

2 Answers

0 votes
Imports System

' An Automorphic number is a number whose square ends with the same digits 
' as the original number. E.g – 5 : 5 * 5 = 25 //ends with 5 

Public Class Program
    Public Shared Function CheckAutomorphicNumber(ByVal n As Integer) As Boolean
        Dim square As Integer = n * n
		
        Console.Write(n & " square = " & square & " ")

        While n > 0
            If n Mod 10 <> square Mod 10 Then
                Return False
            End If

            n = n / 10
            square = square / 10
        End While

        Return True
    End Function

    Public Shared Sub Main()
        Dim n As Integer = 25
        Console.WriteLine(CheckAutomorphicNumber(n))
        Console.WriteLine(CheckAutomorphicNumber(5))
        Console.WriteLine(CheckAutomorphicNumber(76))
        Console.WriteLine(CheckAutomorphicNumber(98))
		Console.WriteLine(CheckAutomorphicNumber(376))
    End Sub
End Class



' run:
'
' 25 square = 625 True
' 5 square = 25 True
' 76 square = 5776 False
' 98 square = 9604 False
' 376 square = 141376 True
'

 



answered Sep 8, 2021 by avibootz
edited Oct 15, 2021 by avibootz
0 votes
Imports System
 
' An Automorphic number is a number whose square ends with the same digits 
' as the original number. E.g – 5 : 5 * 5 = 25 //ends with 5 
 
Public Class Program
    Public Shared Function CheckAutomorphicNumber(ByVal num As Integer) As Boolean
        Dim s As String = num.ToString()
        Dim square As Integer = num * num
        Dim last As Integer = square Mod CInt(Math.Pow(10, s.Length))
         
        Console.Write(num & " square = " & square & " ")
         
		return last = num 
		
    End Function
 
    Public Shared Sub Main()
        Dim n As Integer = 25
             
        Console.WriteLine(CheckAutomorphicNumber(n))
        Console.WriteLine(CheckAutomorphicNumber(5))
        Console.WriteLine(CheckAutomorphicNumber(76))
        Console.WriteLine(CheckAutomorphicNumber(98))
        Console.WriteLine(CheckAutomorphicNumber(376))
    End Sub
End Class
     
 
     
' run:
'
' 25 square = 625 True
' 5 square = 25 True
' 76 square = 5776 False
' 98 square = 9604 False
' 376 square = 141376 True
'

 



answered Oct 15, 2021 by avibootz
edited Oct 16, 2021 by avibootz

Related questions

...