# Automorphic Number

• Difficulty Level : Basic
• Last Updated : 25 Jun, 2022

Given a number N, the task is to check whether the number is Automorphic number or not. A number is called Automorphic number if and only if its square ends in the same digits as the number itself.
Examples :

```Input  : N = 76
Output : Automorphic
Explanation: As 76*76 = 5776

Input  : N = 25
Output : Automorphic
As 25*25 = 625

Input : N = 7
Output : Not Automorphic
As 7*7 = 49```

Recommended Practice

```1. Store the square of given number.
2. Loop until N becomes 0 as we have to match
all digits with its square.
i) Check if (n%10 == sq%10) i.e. last digit
of number = last digit of square or not
a) if not equal, return false.
ii) Otherwise continue i.e. reduce number and
square i.e. n = n/10 and sq = sq/10;
3- Return true if all digits matched.```

## C++

 `// C++ program to check if a number is Automorphic ` `#include ` `using` `namespace` `std; ` ` `  `// Function to check Automorphic number ` `bool` `isAutomorphic(``int` `N) ` `{ ` `    ``// Store the square ` `    ``int` `sq = N * N; ` ` `  `    ``// Start Comparing digits ` `    ``while` `(N > 0) { ` `        ``// Return false, if any digit of N doesn't ` `        ``// match with its square's digits from last ` `        ``if` `(N % 10 != sq % 10) ` `            ``return` `false``; ` ` `  `        ``// Reduce N and square ` `        ``N /= 10; ` `        ``sq /= 10; ` `    ``} ` ` `  `    ``return` `true``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `N = 5; ` ` `  `    ``isAutomorphic(N) ? cout << ``"Automorphic"` `                     ``: cout << ``"Not Automorphic"``; ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java program to check if a number is Automorphic ` `class` `Test { ` `    ``// Function to check Automorphic number ` `    ``static` `boolean` `isAutomorphic(``int` `N) ` `    ``{ ` `        ``// Store the square ` `        ``int` `sq = N * N; ` ` `  `        ``// Start Comparing digits ` `        ``while` `(N > ``0``) { ` `            ``// Return false, if any digit of N doesn't ` `            ``// match with its square's digits from last ` `            ``if` `(N % ``10` `!= sq % ``10``) ` `                ``return` `false``; ` ` `  `            ``// Reduce N and square ` `            ``N /= ``10``; ` `            ``sq /= ``10``; ` `        ``} ` ` `  `        ``return` `true``; ` `    ``} ` ` `  `    ``// Driver method ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `N = ``5``; ` ` `  `        ``System.out.println(isAutomorphic(N) ? ``"Automorphic"` `: ``"Not Automorphic"``); ` `    ``} ` `} `

## Python3

 `# Python program to check if a number is Automorphic ` `  `  `# Function to check Automorphic number ` `def` `isAutomorphic(N) : ` ` `  `    ``# Store the square ` `    ``sq ``=` `N ``*` `N ` `      `  `    ``# Start Comparing digits ` `    ``while` `(N > ``0``) : ` ` `  `        ``# Return false, if any digit of N doesn't ` `        ``# match with its square's digits from last ` `        ``if` `(N ``%` `10` `!``=` `sq ``%` `10``) : ` `            ``return` `False` `   `  `        ``# Reduce N and square ` `        ``N ``/``/``=` `10` `        ``sq ``/``/``=` `10` `   `  `    ``return` `True` `   `  `# Driver code ` `N ``=` `5` `if` `isAutomorphic(N) : ` `    ``print` `(``"Automorphic"``) ` `else` `: ` `    ``print`  `(``"Not Automorphic"``) ` `      `  `# This Code is contributed by Nikita Tiwari. `

## C#

 `// C# program to check if a ` `// number is Automorphic ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Function to check Automorphic number ` `    ``static` `bool` `isAutomorphic(``int` `N) ` `    ``{ ` ` `  `        ``// Store the square ` `        ``int` `sq = N * N; ` ` `  `        ``// Start Comparing digits ` `        ``while` `(N > 0) { ` `            ``// Return false, if any digit ` `            ``// of N doesn't match with its ` `            ``// square's digits from last ` `            ``if` `(N % 10 != sq % 10) ` `                ``return` `false``; ` ` `  `            ``// Reduce N and square ` `            ``N /= 10; ` `            ``sq /= 10; ` `        ``} ` ` `  `        ``return` `true``; ` `    ``} ` ` `  `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `N = 5; ` ` `  `        ``Console.Write(isAutomorphic(N) ? ``"Automorphic"` `: ``"Not Automorphic"``); ` `    ``} ` `} ` ` `  `// This code is Contributed by Nitin Mittal. `

## PHP

 ` 0) ` `    ``{ ` `        ``// Return false, if any  ` `        ``// digit of N doesn't ` `        ``// match with its square's ` `        ``// digits from last ` `        ``if` `(``\$N` `% 10 != ``\$sq` `% 10) ` `            ``return` `-1; ` ` `  `        ``// Reduce N and square ` `        ``\$N` `/= 10; ` `        ``\$sq` `/= 10; ` `    ``} ` ` `  `    ``return` `1; ` `} ` ` `  `// Driver code ` `\$N` `= 5; ` ` `  `\$geeks` `= isAutomorphic(``\$N``) ?  ` `             ``"Automorphic"` `:  ` `          ``"Not Automorphic"``; ` `    ``echo` `\$geeks``; ` ` `  `// This code is contributed by ajit ` `?> `

## Javascript

 ``

Output :

`Automorphic`

This article is contributed by Sahil Chhabra. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.