Back to: C#.NET Programs and Algorithms

**Automorphic Number Program in C# with Examples**

In this article, I am going to discuss the **How to Implement the Automorphic** **Number Program in C#** with Examples. Please read our previous article where we discussed the **Happy Number Program in C#**. Here, in this article, first, we will learn what is a Automorphic Number and then we will see how to implement the Automorphic Number Program in C#. And finally, we will see how to print all the Automorphic numbers between a range of numbers like between 1 to 100 or 100 to 1000, etc.

**What is an Automorphic Number?**

A number is said to be an Automorphic number if the square of the number will contain the number itself at the end.

**Example**: 5 is an automorphic number

**Explanation**: 5 * 5 = 25 //ends with 5 which is the original number.

**Example**.: 7 is not an automorphic number

**Explanation**: 7 * 7 = 49 //doesn’t ends with the number 7

**How to implement the Automorphic Number Program in C#?**

We are going to use the very basic method to implement this program but before that, you should have some basic knowledge of the following operators.

**Modulus(%) Operator****Divide(/) Operator**

In case if you are unfamiliar or not confident about these let’s have a look at our previous questions where we have discussed these in great detail like Duck Number, Disarium Number, Buzz Number, and Strong Number, etc.

**Solution**

**Step1:** Take a number from the user.

**Step2:** Find the square of number by just multiplying it with the number itself and store this in a variable named square.

**Step3:** Calculate or extract the last digit of both (the square number and the given number) numbers using the modulus % operator.

**Example:** Given number: 25.

Square number: 625

25 % 10 = 5 625 % 10 = 5

2 % 10 = 2 62 % 10 = 2

0 % 10 =0 6 % 10 = 6

This process will continue until the remainder value is not equal to 0.

**Step4:** Compare the remainder of both the numbers. If it is not equal then immediately break the loop and print “Not Automorphic Number” otherwise repeat the process until the remainder =0 of the given number. Then simply Print the Automorphic Number.

**Note**: If the loop will continue till the end which means all the digits of the number are present in the squared number.

**Example: Automorphic Number Program in C#**

The following sample code shows how to implement the Automorphic number program in C#.

using System; public class AutomorphicProgram { public static void Main () { Console.Write ("Enter a number : "); int number = Convert.ToInt32 (Console.ReadLine ()); if (CheckAutomorphicNumber (number)) { Console.WriteLine ("Automorphic Number"); } else { Console.WriteLine ("Not Automorphic Number"); } Console.ReadLine (); } public static bool CheckAutomorphicNumber (int no) { int square = no * no; while (no > 0) { if (no % 10 != square % 10) { return false; } no = no / 10; square = square / 10; } return true; } }

**Output**

**C# Program to Print all Automorphic Numbers Between 1 and N**

The following C# Program will allow the user to input a number. Then it will print all the Automorphic numbers between 1 and that input number.

using System; public class AutomorphicProgram { public static void Main () { //Take input from end-user Console.WriteLine ("Enter an integer number:"); int number = Convert.ToInt32(Console.ReadLine ()); Console.WriteLine("Automorphic Numbers Between 1 and " + number + " : "); for (int i = 1; i <= number; i++) { if (CheckAutomorphicNumber(i)) { Console.Write (i + " "); } } Console.ReadLine (); } public static bool CheckAutomorphicNumber(int no) { int square = no * no; while (no > 0) { if(no % 10 != square % 10) { return false; } no = no / 10; square = square / 10; } return true; } }

**Output**

Here, in this article, I try to explain **How to Implement the Automorphic** **Number Program in C#** with Examples and I hope you enjoy this Automorphic Number Program in C# article.

**About the Author: Pranaya Rout**

Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.