Automorphic Number Program in Java with Examples

In this tutorial, I will be sharing what is an Automorphic number, examples of Automorphic number, algorithm, and java program to check whether a given number is an Automorphic number or not. It is also known as a circular number.

Read Also: Ugly Number in Java

What is Automorphic Number 

According to Wikipedia,

In mathematics, Automorphic numbers are those natural numbers whose square "ends" in the same digits as the number itself.

Automorphic numbers examples


Examples:

Number to check : 25  
Square of the number : 625 
Square ends with same digits as original number: Yes // 25 is an Automorphic number
 
Number to check : 376  
Square of the number : 141376 
Square ends with same digits as original number: Yes // 376 is an Automorphic number

Below are examples of numbers which are NOT Automorphic numbers

Number to check : 34  
Square of the number : 1156 
Square ends with same digits as original number: No // 34 is NOT an Automorphic number
 
Number to check : 147  
Square of the number : 21609
Square ends with same digits as original number: No // 147 is NOT an Automorphic number

List of Automorphic numbers from 1 to 10000 are :  1, 5, 6, 25, 76, 376, 625, 9376

Read Also:  Evil Number in Java

Java Program for Automorphic Number


import java.util.Scanner;
 
public class JavaHungry 
{
    public static void main(String args[])
    {
        System.out.println("Enter any number : ");
        Scanner scan = new Scanner(System.in);
        Integer inputNumber = scan.nextInt();
        checkAutomorphicNumber(inputNumber);
    }
    
    public static void checkAutomorphicNumber(Integer inputNumber)
    {
        // Calculating square of the inputNumber
        int sq = inputNumber * inputNumber;
        
        // Converting inputNumber to String
        String number = Integer.toString(inputNumber);
        
        // Converting sq to String
        String square = Integer.toString(sq);
        
        /* Using String endsWith() function 
        to check if square ends with digits of 
        inputNumber */
        if(square.endsWith(number))
            System.out.println(inputNumber + " is an Automorphic Number");
        else
            System.out.println(inputNumber + " is NOT an Automorphic Number");
    }
}

Output:
Enter any number :
8 is NOT an Automorphic Number

Algorithm for Automorphic Number

1. Calculate the square of the given inputNumber.

2. Using String's class endsWith() function, check whether square of the inputNumber ends with the original number or not.
    a. If true, then the inputNumber is an Automorphic number.
    b. If false, then the inputNumber is not an Automorphic number.

Java Program for Automorphic Number without Using String Function

import java.util.Scanner;
 
public class JavaHungry 
{
    public static void main(String args[])
    {
        System.out.println("Enter any number : ");
        Scanner scan = new Scanner(System.in);
        Integer inputNumber = scan.nextInt();
        checkAutomorphicNumber(inputNumber);
    }
    
    public static void checkAutomorphicNumber(Integer inputNumber)
    {
        // Calculating square of the inputNumber
        int square = inputNumber * inputNumber;
        int number = inputNumber;
        int count = 0;
        // Calculate the number of digits
        while(number > 0)
        {
            count++;
            number = number/10;
        }
        
        /* Finding the last digits of the square.
        if the inputNumber has 3 digits, then we will find the last
        3 digits of the square using square % 1000 */
        int squareLastDigits = square % (int)Math.pow(10, count); 
        
        if(squareLastDigits == inputNumber)
            System.out.println(inputNumber + " is an Automorphic Number");
        else
            System.out.println(inputNumber + " is NOT an Automorphic Number");
    }
}

Output:
Enter any number :
376 is an Automorphic Number


That's all for today, please mention in comments in case you have any questions related to the automorphic number in java with examples.

You may also like:

Perfect number program in Java (solution)
Special number program in Java (solution)
Bouncy number program in Java (answer)
Disarium number program in Java (answer)
Neon number program in Java (solution)
Happy number program in Java (answer)
Magic number program in Java (solution)
Pronic number program in Java (answer)
Duck number program in Java (answer)

About The Author

Subham Mittal has worked in Oracle for 3 years.
Enjoyed this post? Never miss out on future posts by subscribing JavaHungry