C# program to check if a number is an amstrong number has been shown here. A positive integer of order n is called an amstrong number if the sum of each digit to the power n is equal to that number.
For example, 153 and 1634 are amstrong numbers as $153 = 1^3 + 5^3 + 3^3$ and $1634 = 1^4 + 6^4 + 3^4 + 4^4$.
The algorithm, pseudocode and time complexity of the program have been shown below.
1. Algorithm to check if a number is an amstrong number
1. Take input of a positive number n.
2. Calculate d, the total no of digit of n
3. Extract each digit $p_i$ and perform sum = $\sum_{i=1}^d p_i ^d $
4. Check If sum == n
5. If step 4 is true, then display n as an amstrong number
6. If step 4 is false, then display n as not an amstrong number
2. Pseudocode to check if a number is an amstrong number
Input : A postive number $n$ as input
Output : $n$ is an amstrong number or not an amstrong number
1. Procedure checkAmstrong($n$):
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13. End Procedure
3. Time complexity to check if a number is an amstrong number
Time Complexity: O(log(n))
Where log(n) is the total no of digits of the input number n.
4. C# Program & output to check if a number is an amstrong number
/****************************** alphabetacoder.com C# program to check if a number is an amstrong number or not *******************************/ using System; namespace AmstrongNumber { class Program { static void Main() { // declare variables int n, d = 0, t, r, sum = 0; // take input of the number Console.Write("Enter the number = "); n = Convert.ToInt32(Console.ReadLine()); // copy value t = n; // calculate the number of digit while (t != 0) { d++; t = t / 10; } // copy value t = n; // find the sum of digits each to the power d while (t != 0) { r = t % 10; sum = sum + Convert.ToInt32(Math.Pow(r, d)); t = t / 10; } //check if input number is amstrong or not if (n == sum) Console.Write(n + " is an amstrong number!"); else Console.Write(n + " is not an amstrong number!"); // wait for user to press any key Console.ReadKey(); } } }
Output
Enter the number = 5
5 is an amstrong number!