Питон
Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в K -ю степень (где K – количество цифр в числе) равна самому числу. Например,
153 = 1 3 + 5 3 + 3 3 .
Напишите программу, которая находит все числа Армстронга на отрезке [ a , b ] .
Входные данные
Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b .
Выходные данные
Программа должна вывести в одну строчку все числа Армстронга на отрезке [ a , b ] , разделив их пробелами. Если таких чисел нет, программа должна вывести число -1.
Примеры
входные данные
100 400
выходные данные
153 370 371
входные данные
500 600
выходные данные
-1
Answers & Comments
def armstrong_number(x):
l = len(str(x))
s = 0
t = x
while x > 0:
s += (x % 10)**l
x //= 10
return s == t
a, b = [int(x) for x in input().split()]
flag = False
for i in range(a, b+1):
if armstrong_number(i):
print(i, end = ' ')
flag = True
if not flag:
print(-1)
Traceback (most recent call last):
File "__tester__.python3", line 17, in
a = int(input())
ValueError: invalid literal for int() with base 10: '100 400'