# Armstrong Number--
* Aim = To find the given number is Armstrong number or not.
Q.) What is an Armstrong number?
Ans.) It is a number where sum of cube of its digit is equal to the given number.
For example==>> Say 407 then--
(4)³+(0)³+(7)³ = 64 + 0 + 343 = 407
# code:
actual = int(input('Enter number:'))
sum = 0
num = actual
while (num>0):
digit = (num%10)
power = pow(digit,3)
sum = sum + power
num = num//10
if (sum==actual):
print(actual, 'is an Armstrong number')
else:
print(actual, 'is not an Armstrong number')
# Output: Enter number:407
407 is an Armstrong number
>> Lets look how the code works:
1) First, get input from the user.
2) Then initialize the variable.
3) Store the actual(input) in a variable called num. We do this coz at the end we need to compare the sum with the actual input. If we don't do this our actual input will keep on decrementing and we'll not get the desired output.
4) Initialize the loop. And lets see how the loop works--
actual = 407
actual = num
sum = 0
• while (num>0):
digit = (407%10)= 7
power = pow(7,3)= 343
sum = 0 + 343 = 343
num = 407//10 = 40
>> Here, since num(=40) > 0. The loop will repeat itself.
• while (num>0):
digit = (40%10)= 0
power = pow(0,3)= 0
sum = 343 + 0 = 343
num = 40//10 = 4
>> Here, since num(=4) > 0. The loop will repeat itself.
• while (num>0):
digit = (4%10)= 4
power = pow(4,3)= 64
sum = 343 + 64 = 407
num = 4//10 = 0
>> Here, since num(=0). The loop will get terminate. And if...else statement will execute. Hence the output will be printed.
>> Lets see another example whether the given number is Armstrong or not--
# code:
actual = int(input('Enter number:'))
sum = 0
num = actual
while (num>0):
digit = (num%10)
power = pow(digit,3)
sum = sum + power
num = num//10
if (sum==actual):
print(actual, 'is an Armstrong number')
else:
print(actual, 'is not an Armstrong number')
# Output: Enter number:124
124 is not an Armstrong number
* For sum and product of digits visit link: click here
Comments
Post a Comment