In this post, we will discuss * what is Armstrong number* and also create java program to check if the given number is an Armstrong number or not.

## Armstrong Number:

*An Armstrong number is a number that is equal to the sum of its own digits raised to the power of the number of digits.*

*For example, 153 is an Armstrong number because 1 ^{3} + 5^{3} + 3^{3} = 153.*

### Problem :

We are given a number. And we use java program to find whether number is an Armstrong Number or not.

Here Example of the problem:

##### Example 1:

Input : Enter a number: 407 Output: 407 is an Armstrong number.

##### Example 2 :

Input : Enter a number: 8202 Output: 8202 is an Armstrong number.

##### Example 3 :

Input : Enter a number: 123 Output: 123 is not an Armstrong number.

### Explanation:

In example 1, the user entered the number 407. The program calculated **4 ^{3}+0^{3}+7^{3}$=407$**. Since the result matches the original number, the program outputs that 407 is an Armstrong number.

In example 2, the user entered the number 8202. The program calculated **8 ^{4}+2^{4}+ 0^{4}+ 8^{4}=8208**. Check if the sum equals the original number: 8208 == 8208. The result matches the original number, the program outputs that 1634 is an Armstrong number.

In example 3, the user the number 123. The program calculated**1 ^{3}+2^{3}+3^{3}=36**, which does not match the original number (123). Since the result is not equal to the original number, the program outputs that 123 is not an Armstrong number.

#### Algorithm :

* Initialize variables. *

* Use a loop to calculate the sum of the cubes of each digit.*

* Check if the total is equal to the original number. *

* Print the result.*

This java program checks if a number is an Armstrong number.

public class ArmstrongNumber { public static void main(String[] args) { int num = 370, number, temp, total = 0; number = num; while (number != 0) { temp = number % 10; total = total + temp*temp*temp; number /= 10; } if(total == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } }

Output :

370 is an Armstrong number

**Here’s how it works: –**

We start by initializing variables: “”num” as the number that we want to check,

“number” as a copy of num,

“temp” as a temporary variable, and “total” as the sum of the cubes of each digit.

Then, we enter a while loop that continues until “number” becomes 0.

Inside the loop, we extract the last digit of “number” using the modulus operator (%) and store it in the “temp” variable.

We calculate the cube of “temp” and add it to “total”.

We divide “number” by 10 to remove the last digit.

Steps 3-5 are repeated until “number” becomes 0.

Finally, we check if “total” is equal to the original number “num”.

- If they are equal, we print “num” is an Armstrong number”.
- Otherwise, we print “num” is not an Armstrong number”.