In this article, we will understand how to check if the given number is an Armstrong number. An Armstrong number is a number that is equal to the sum of the cubes of its own digits.
An integer is called an Armstrong number of order n if it's every digit separate out and cubed and summed up then the sum will be same as the number i.e. abcd... = a3 + b3 + c3 + d3 + ...
In case of an Armstrong number of 3 digits, the sum of cubes of each digit is equal to the number itself. For example: 153 is an Armstrong number.
153 = 13 + 53 + 33
For example: 371 is an Armstrong number.
Below is a demonstration of the same −
Input
Suppose our input is −
Enter the number : 407
Output
The desired output would be −
407 is an Armstrong number
Algorithm
Step 1 - START Step 2 - Declare four integer values namely my_input, my_temp, my_remainder, my_result Step 3 - Read the required values from the user/ define the values Step 4 - Run a while loop to check Armstrong numbers using %, / and * operator Step 5 - Divide by 10 and get remainder for ‘check’ . Step 6 - Multiply ‘rem’ thrice, and add to ‘sum’, and make that the current ‘sum’. Step 7 - Divide ‘check’ by 10, and make that the current ‘check’. Store the resultant value. Step 8 - If the resultant value is equal to the input value, the input value is an Armstrong number, else it’s not an Armstrong number Step 9 - Display the result Step 10- Stop
Example 1
Here, the input is being entered by the user based on a prompt. You can try this example live in our coding ground tool
.
import java.util.Scanner;
public class IsArmstrong {
public static void main(String[] args) {
int my_input, my_temp, my_remainder, my_result;
my_result = 0;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the number : ");
my_input = my_scanner.nextInt();
my_temp = my_input;
while (my_temp != 0){
my_remainder = my_temp % 10;
my_result += Math.pow(my_remainder, 3);
my_temp /= 10;
}
if(my_result == my_input)
System.out.println(my_input + " is an Armstrong number");
else
System.out.println(my_input + " is not an Armstrong number");
}
}Output
Required packages have been imported A reader object has been defined Enter the number : 407 407 is an Armstrong number
Example 2
Here, the integer has been previously defined, and its value is accessed and displayed on the console.
public class IsArmstrong {
public static void main(String[] args) {
int my_input, my_temp, my_remainder, my_result;
my_input = 407;
my_result = 0;
System.out.println("The number is defined as " +my_input);
my_temp = my_input;
while (my_temp != 0){
my_remainder = my_temp % 10;
my_result += Math.pow(my_remainder, 3);
my_temp /= 10;
}
if(my_result == my_input)
System.out.println(my_input + " is an Armstrong number");
else
System.out.println(my_input + " is not an Armstrong number");
}
}Output
The number is defined as 407 407 an Armstrong number