A positive integer is called an Armstrong number (of order n) if:
abcd... = an + bn + cn + dn + ...
In the 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 because:
153 = 1*1*1 + 5*5*5 + 3*3*3
Similarly, 1634 is an Armstrong number because:
1634 = 1*1*1*1 + 6*6*6*6* + 3*3*3*3 + 4*4*4*4
Before trying this program, visit JavaScript Program to Check Armstrong Number.
Example: Armstrong Numbers Between Two Intervals
Output
Enter a positive low integer value: 8 Enter a positive high integer value: 500 Armstrong Numbers: 8 9 153 370 371 407
In the above program, the user is prompted to enter two integers. One is the lower interval integer and another is the higher integer value.
The parseInt() converts the numeric string value to an integer value.
The for loop is used to loop through the two numbers provided by the user.
The toString() method is used to convert the number to a string. And the length property is used to find the length of a string. Hence, in this case, length gives the total digits in the number.
let numberOfDigits = i.toString().length;
In the first for loop iteration (i = 8),
- The lower number entered by the user is stored in a temporary variable
temp. - A
whileloop is used to iterate the number.- The modulus operator
%is used to obtain each digit number. When a number is divided by 10, the remainder is the last digit. In the first iteration,8 % 10gives 8. - The remainder is multiplied by the number of digits in that number (here 1) and the sum is calculated.
- The digit is divided by 10 to remove the last digit, i.e.
8 / 10gives 0.
- The modulus operator
- Finally, the sum is compared with the number entered by the user. If the sum and the number are equal, the Armstrong number is displayed.
The loop continues for all the numbers that are in between the lower and upper bounds provided by the user. In the above example, the loop is executed from 8 to 500.