This article contains Programs to Find Armstrong Numbers in C#. To begin with, let us first understand what is an Armstrong number?

**Armstrong Number**

To illustrate, suppose we have a number ** n**. Further, suppose it has total

**digits. Now take each digit of the number at a time and compute the value of that digit raised to the power m. After that find sum of all such computed values. Basically, if the resulting sum is equal to the number**

*m***, then it is an Armstrong number.**

*n*For example,

Let n=1634. Therefore, m=4. After that, we compute the following values.

1^{4} = 1

6^{4} = 1296

3^{4} = 81

4^{4} = 256

Further find the sum = 1 + 1296 + 81 +256 = 1634. Since, the resulting sum is equal to the number n =1634, it is an Armstrong number.

**Examples of Armstrong Numbers**

The following are some of the examples of Armstrong Numbers.

**Following are Some of the Programs to Find Armstrong Numbers in C#**

Basically, One-Digit Armstrong numbers are 1, 2, 3, 4, 5, 6, 7, 8, 9. Since each digit raised to power 1 is the same as the digit itself. However, there is no two-digit Armstrong number exists. Similarly, three-dist Armstrong numbers are 153, 370v371, 407. Likewise, four-digit Armstrong numbers are 1634, 8208, and 9474. Besides, five-digit Armstrong numbers are 54748, 92727, 93084.

The following program shows two functions to find Armstrong numbers. While the function ** FindArmstrong** determines whether a randomly generated number is an Armstrong number or not. Another function called as ArmstrongNumbersInRange checks the range of numbers from 10 to 999 and determines whether any number in this range is an Armstrong number. However, you can also change this range to find more Armstrong numbers.

```
using System;
namespace ArmstrongNumberDemo
{
class Program
{
static void Main(string[] args)
{
bool b2;
Random r = new Random();
int n= r.Next(10, 999);
Console.WriteLine("Checking a randomly generated number...");
b2 = ArmstrongClass.FindArmstrong(n);
if (b2)
Console.WriteLine(n + " is an Armstrong Number.");
else
Console.WriteLine(n + " is not an Armstrong Number.");
Console.WriteLine();
Console.WriteLine("All Armstrong Numbers in the Range [10 - 999]: \n");
ArmstrongClass.ArmstrongNumbersInRange();
}
}
class ArmstrongClass
{
public static bool FindArmstrong(int n)
{
int sum = 0;
int n1 = n;
int remainder;
int result = 0;
while (n != 0)
{
String str = n.ToString();
int strlen = str.Length;
n1 = n;
while(n1!=0)
{
remainder = n1 % 10;
result += (int)Math.Pow(remainder, strlen);
sum += remainder;
n = n / 10;
}
if (n1 == result)
return true;
else
return false;
}
public static void ArmstrongNumbersInRange()
{
int n1, sum = 0;
int remainder;
int result = 0;
for(int n=10;n<=999;n++)
{
n1 = n;
while(n1!=0)
{
remainder = n1 % 10;
result += remainder * remainder * remainder;
sum += remainder;
n1 = n1 / 10;
}
if(n==result)
{
Console.Write(n + " ");
}
result = 0;
sum = 0;
}
}
}
}
```

**Output**

**Further Reading**

How to Create Instance Variables and Class Variables in Python

Comparing Rows of Two Tables with ADO.NET

Example of Label and Textbox Control in ASP.NET

One Dimensional and Two Dimensuonal Indexers in C#

Private and Static Constructors in C#

Programs to Find Armstrong Numbers in C#

One Dimensional and Two Dimensional Indexers in C#

Generic IList Interface and its Implementation in C#

Creating Navigation Window Application Using WPF in C#

Find Intersection Using Arrays

An array of Objects and Object Initializer

Performing Set Operations in LINQ

Data Binding Using BulletedList Control

Understanding the Quantifiers in LINQ

Deferred Query Execution and Immediate Query Execution in LINQ

Examples of Query Operations using LINQ in C#

An array of Objects and Object Initializer

Language-Integrated Query (LINQ) in C#

Examples of Connected and Disconnected Approach in ADO.NET

IEnumerable and IEnumerator Interfaces

KeyValuePair and its Applications

Learning All Class Members in C#

Examples of Extension Methods in C#

How to Setup a Connection with SQL Server Database in Visual Studio

Understanding the Concept of Nested Classes in C#

A Beginner’s Tutorial on WPF in C#

Explaining C# Records with Examples

Everything about Tuples in C# and When to Use?

Linear Search and Binary search in C#

Examples of Static Constructors in C#