Hello readers, welcome back, here is another simple python program which checks whether a number is an Armstrong number or not.

Generally, a number is said to be an Armstrong number if an n -digit number equal to the sum of the nth powers of its digits.

For Example, 153 is an Armstrong number as its sum of cubes of each digit 1^{3} + 5^{3} + 3^{3} = 153 whereas 456 is not as its sum of cubes of each digit is not 456.

**You can watch the video on YouTube here.**

#### Armstrong number – Code Visualization

#### Task :

Python program to check an integer number is an Armstrong number or not.

#### Approach :

- Read an input number using
`input()`

or`raw_input()`

. - Check whether the value entered is an integer or not.
- Check input_num is greater than 0.
- Initialize a variable named
`arm_num`

to 0. - Find
`remainder`

of the input number by using mod (%) operator to get each digit in the number. - Now cube each digit and add it to
`arm_num`

. - Floor Divide the number by 10.
- Repeat steps 5. 6. 7 until the input_num is not greater than 0.
- If
`input_num`

is equal to`arm_num`

, print number is ARMSTRONG. - When
`input_num`

is not equals to`arm_num`

, the number is NOT an Armstrong number.

#### Program :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
__author__ = 'Avinash' input_num = (input("Enter any number: ")) digit_len = len(str(input_num)) try: arm_num = 0 val = int(input_num) while val > 0: reminder = val % 10 arm_num += reminder ** digit_len val //= 10 if int(input_num) == arm_num: print(input_num, 'is an ARMSTRONG number') else: print(input_num, 'is NOT an armstrong number') except ValueError: print("That's not a valid number, Try Again !") |