Answer to Question #265900 in Python for siva

Question #265900

Armstrong numbers between two intervals


Write a program to print all the Armstrong numbers in the given range


A to B(including A and B). An N-digit number is an Armstrong number if the number equals the sum of the Nth power of its digits.


Input


The first line has an integer


A. The second line has an integer B.


Output


Print all Armstrong numbers separated by a space.

If there are no Armstrong numbers in the given range, print


-1.


Explanation


For


A = 150 and B = 200


For example, if we take number 153, the sum of the cube of digits


1, 5, 3 is


13 + 53 + 33 = 153.


So, the output should be


153.


Sample Input 1

150

200

Sample Output 1

153

Sample Input 2

1

3

Sample Output 2

1 2 3

Sample Input 3

10

15

Sample Output 2

-1


1
Expert's answer
2021-11-14T09:21:16-0500
armstrong = []
for n in range(int(input()), int(input()) + 1):
    p = len(str(n))
    if n == sum([int(d) ** p for d in str(n)]):
        armstrong.append(n)
if armstrong:
    print(*armstrong)
else:
    print(-1)

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS