Python Program to check Armstrong Number

Given a number x, determine whether the given number is Armstrong number or not. A positive integer of n digits is called an Armstrong number of order n (order is number of digits) if.

abcd... = pow(a,n) + pow(b,n) + pow(c,n) + pow(d,n) + .... 

Example:

Input : 153
Output : Yes
153 is an Armstrong number.
1*1*1 + 5*5*5 + 3*3*3 = 153

Input : 120
Output : No
120 is not a Armstrong number.
1*1*1 + 2*2*2 + 0*0*0 = 9

Input : 1253
Output : No
1253 is not a Armstrong Number
1*1*1*1 + 2*2*2*2 + 5*5*5*5 + 3*3*3*3 = 723

Input : 1634
Output : Yes
1*1*1*1 + 6*6*6*6 + 3*3*3*3 + 4*4*4*4 = 1634

Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to determine whether the number is
# Armstrong number or not
  
# Function to calculate x raised to the power y
def power(x, y):
    if y==0:
        return 1
    if y%2==0:
        return power(x, y/2)*power(x, y/2)
    return x*power(x, y/2)*power(x, y/2)
  
# Function to calculate order of the number
def order(x):
  
    # variable to store of the number
    n = 0
    while (x!=0):
        n = n+1
        x = x/10
    return n
  
# Function to check whether the given number is
# Armstrong number or not
def isArmstrong (x):
    n = order(x)
    temp = x
    sum1 = 0
    while (temp!=0):
        r = temp%10
        sum1 = sum1 + power(r, n)
        temp = temp/10
  
    # If condition satisfies
    return (sum1 == x)
  
  
# Driver Program
x = 153
print(isArmstrong(x))
x = 1253
print(isArmstrong(x))

chevron_right


Please refer complete article on Program for Armstrong Numbers for more details!



My Personal Notes arrow_drop_up


Article Tags :

7


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.