Related Articles

# Automorphic Number

• Difficulty Level : Basic
• Last Updated : 26 Apr, 2021

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```

```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 Authomorphic``#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 Authomorphic``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"``);``    ``}``}`

## Python

 `# Python program to check if a number is Authomorphic``  ` `# 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 Authomorphic``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 contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.