This C# program identifies and prints all Armstrong numbers within the range of 1 to 1000. Armstrong number (also known as a narcissistic number or pluperfect digital invariant) is a number that is equal to the sum of its own digits each raised to the power of the number of digits in the number itself. In other words, an n-digit number is an Armstrong number if the sum of its digits, each raised to the nth power, is equal to the number itself.

## Problem Statement

Print Armstrong Numbers between 1 and 1000 using C#

## C# Program to Print Armstrong Number between 1 to 1000

using System; class ArmstrongNumbers { // Function to calculate the number of digits in a number static int CountDigits(int num) { int count = 0; while (num > 0) { num /= 10; count++; } return count; } // Function to check if a number is an Armstrong number static bool IsArmstrong(int num) { int originalNum = num; int numDigits = CountDigits(num); int sum = 0; while (num > 0) { int digit = num % 10; sum += (int)Math.Pow(digit, numDigits); num /= 10; } return sum == originalNum; } static void Main() { Console.WriteLine("Armstrong numbers between 1 and 1000:"); for (int i = 1; i <= 1000; i++) { if (IsArmstrong(i)) { Console.WriteLine(i); } } } }

## How it Works

**CountDigits Function:**- There’s a helper function called
`CountDigits`

that calculates the number of digits in a given number. It’s used to determine the number of digits in each number being checked.

- There’s a helper function called
**IsArmstrong Function:**- Another helper function called
`IsArmstrong`

checks whether a given number is an Armstrong number. It does this by following these steps:- It keeps a copy of the original number for later comparison.
- It calculates the number of digits in the number using the
`CountDigits`

function. - It initializes a variable to store the sum of the digits raised to the power of the number of digits.
- It iterates through the digits of the number:
- Extracts the last digit of the number.
- Raises the digit to the power of the number of digits.
- Adds this result to the sum.
- Removes the last digit from the number.

- Finally, it compares the calculated sum to the original number. If they are equal, the number is an Armstrong number and the function returns
`true`

; otherwise, it returns`false`

.

- Another helper function called
**Main Function:**- The
`Main`

function is the entry point of the program. - It iterates through numbers from 1 to 1000 using a
`for`

loop. - For each number in the range, it calls the
`IsArmstrong`

function to check if it’s an Armstrong number. - If a number is found to be an Armstrong number, it is printed to the console.

- The
**Printing the Armstrong Numbers:**- As the program runs, it checks each number in the specified range (1 to 1000) to see if it meets the Armstrong number criteria.
- When it finds an Armstrong number, it prints it to the console.

**Final Output:**- After running the program, you will get a list of Armstrong numbers between 1 and 1000 printed to the console.