Python Program to Check Armstrong Number

Last Updated:

What is Armstrong Number?

An Armstrong number of three digits is an integer such that the sum of the cubes of its digits is equal to the number itself.

For example, 153 is an armstrong number

153 = 13 + 53 + 33
153 = 1 + 125 + 27
153 = 153

Note: Each number is raised to the power of 3, because, the number of digits in 153 is 3.

Tips: It is recommended to use our online Armstrong Number calculator for better understanding.

Check Armstrong Number

Example

In the following example, we will check whether the number 19 is an Armstrong number or not.

Python Compiler
import math num = 19; copyNum = num; digits = 0; remainder = 0; total = 0; #find number of digits in num variable while(copyNum != 0): digits += 1; copyNum = math.floor(copyNum / 10); copyNum = num; #slice the numbers from last digits while(copyNum != 0): remainder = copyNum % 10 total += pow(remainder, digits) copyNum = math.floor(copyNum / 10) #result if(num == total): print("%d is an armstrong number" % num); else: print("%d is not an armstrong number" % num);

Armstrong Numbers between the Given Range

In the following example, we will find all the Armstrong numbers between 1 and 200.

Example

Python Compiler
import math start = 1; end = 200; flag = 0; print("Armstrong numbers between %d and %d: " % (start, end)) for start in range(start, end+1): #find number of digits in start variable copyNum = start; total = 0; digits = 0; remainder = 0; while(copyNum != 0): digits += 1 copyNum = math.floor(copyNum / 10) copyNum = start; #slice the numbers from last digits while(copyNum != 0): remainder = copyNum % 10; total += pow(remainder, digits); copyNum = math.floor(copyNum / 10); if((start == total) and (start != 0)): flag = 1 print(start, end=" ") if(flag == 0): print("There is no armstrong number between the given range")

Check Armstrong Number for any Given Number

In the following example, we will find whether the user entered number is an Armstrong number or not.

Example

Python Compiler
import math num = int(input("Enter a (int) number: ")); copyNum = num; digits = 0; remainder = 0; total = 0; #find number of digits in num variable while(copyNum != 0): digits += 1; copyNum = math.floor(copyNum / 10); copyNum = num; #slice the numbers from last digits while(copyNum != 0): remainder = copyNum % 10 total += pow(remainder, digits) copyNum = math.floor(copyNum / 10) #result if(num == total): print("%d is an armstrong number" % num); else: print("%d is not an armstrong number" % num);

Share this Page

Meet the Author