## Definition of Armstrong Number

An Armstrong Number is a number whose sum of its individual digits, raised to the power of the number of digits in the number, results in the same original number. For example, let’s take the number ‘153,’ which has three digits.

Therefore, the sum of the cubes of the digits is calculated as follows:

(1*1*1) + (5*5*5) + (3*3*3) = 1 + 125 + 27 = 153

Here, 153 is the same number as the original number, making it an Armstrong Number. It is named after Michael F.

Armstrong, who introduced the concept in 1969.

## Examples of Armstrong Number

### Here are some examples of Armstrong Numbers:

- 153
- 370
- 371
- 407

All the above four-digit numbers that have the sum of their digits raised to the power of four equal to the same four-digit number. Similarly, all three-digit Armstrong Numbers are calculated using the same method.

## Algorithm to check Armstrong Number

To check if a number is an Armstrong Number or not, there are certain algorithmic steps you need to follow. Here is the algorithm:

- Determine the number of digits in the given number N.
- Initialize a variable ‘sum’ to 0.
- Loop through each digit of the number N using modulus and division operators.
- Raise each digit to the power of the number of digits, and add the result to ‘sum.’
- Check if the ‘sum’ is equal to the given number N.
- If the ‘sum’ is equal to N, then the number is an Armstrong Number.

## Pseudo Code for Armstrong Number

```
num = input("Enter a number: ")
result = 0
n = len(str(num))
for i in str(num):
result += int(i) ** n
if result == num:
print(num, "is an Armstrong number")
else:
print(num, "is not an Armstrong number")
```

## Creating the initial variables

To implement the Armstrong Number checking process in Python, you need to create the initial variables. Here’s how you can do it:

```
num = input("Enter a number: ")
result = 0
n = len(str(num))
```

In this code, ‘num’ is the input number, ‘result’ is initialized to 0, and ‘n’ is the number of digits in ‘num.’

## Traversing through the number and updating result

After initializing the initial variables, you need to loop through each digit of the number N using modulus and division operators. In each iteration, you need to raise each digit to the power of the number of digits, and add the result to ‘sum.’ Here’s how you can do it:

```
for i in str(num):
result += int(i) ** n
```

Here, ‘i’ is each individual digit in the input number ‘num’, which is raised to the power of ‘n’, and added to ‘result.’

## Checking if the number is an Armstrong Number or not

After calculating the result by traversing through each digit and adding the cubes, you need to check if the obtained result is equal to the input number ‘num.’ If the result is the same as the input number, then it is an Armstrong Number, else it is not. Here’s how you can do it:

```
if result == num:
print(num, "is an Armstrong number")
else:
print(num, "is not an Armstrong number")
```

This code checks if ‘result’ is equal to the given number ‘num’.

If it is, then it prints that it is an Armstrong Number, else it prints that it is not.

## Example 1

Let’s take the number ‘153’ to understand if it is an Armstrong number or not. The number ‘153’ has three digits, so the sum of cubes of the digits is calculated as follows:

(1*1*1) + (5*5*5) + (3*3*3) = 1 + 125 + 27 = 153

As the obtained result is the same as the original number, i.e., 153, this number is an Armstrong Number.

## Example 2

Let’s take the number ‘371’ to understand if it is an Armstrong number or not. The number ‘371’ has three digits, so the sum of cubes of the digits is calculated as follows:

(3*3*3) + (7*7*7) + (1*1*1) = 27 + 343 + 1 = 371

As the obtained result is the same as the original number, i.e., 371, this number is an Armstrong Number.

## Example 3

Let’s take the number ‘9474’ to understand if it is an Armstrong number or not. The number ‘9474’ has four digits, so the sum of cubes of the digits is calculated as follows:

(9*9*9*9) + (4*4*4*4) + (7*7*7*7) + (4*4*4*4) = 6561 + 256 + 2401 + 256 = 9474

As the obtained result is the same as the original number, i.e., 9474, this number is an Armstrong Number.

## Example 4

Let’s take the number ‘8208’ to understand if it is an Armstrong number or not. The number ‘8208’ has four digits, so the sum of cubes of the digits is calculated as follows:

(8*8*8*8) + (2*2*2*2) + (0*0*0*0) + (8*8*8*8) = 4096 + 16 + 0 + 4096 = 8208

As the obtained result is the same as the original number, i.e., 8208, this number is an Armstrong Number.

## Summary of the article

In this article, we covered the fundamental concepts of Armstrong Number. We started with its definition, followed by examples and algorithms used to check if a number is an Armstrong Number or not.

We also showed pseudo-code and implementation of the code in Python. Finally, we displayed some output samples to understand the process conceptually.

## Encouragement to keep learning

Armstrong Number checking is an exciting and challenging topic that expands your understanding of number systems and algorithms. It is used to solve various problems in computer science and mathematics, making it a valuable skill to learn.

We encourage readers to keep learning and exploring this fascinating subject to expand their horizons. Keep challenging your mind and keep learning – the possibilities are infinite!

In conclusion, Armstrong Number is a fascinating topic that not only expands our knowledge of number systems but also applies to practical applications in computer science and mathematics.

In this article, we defined what Armstrong Number is and provided examples of it. We also explained the algorithmic steps used to check if a number is an Armstrong Number and demonstrated how to implement the code in Python.

Overall, this article aimed to educate readers and encourage them to keep learning and exploring this exciting topic. The takeaway is that by studying Armstrong Number, we can expand our understanding of numbers and algorithms, leading to valuable insights in various fields.