C# Program to Print Armstrong Number between 1 to 1000

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Final Output:
    • After running the program, you will get a list of Armstrong numbers between 1 and 1000 printed to the console.

Input/ Output

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...