натуральное число называется числом армстронга, если сумма цифр числа, возведенных в 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

п.с. питон

ДимаИванов11 ДимаИванов11    2   15.09.2019 20:08    12

Ответы
Karina5252 Karina5252  07.10.2020 18:17

a, b = map(int, input().split())

answer = []

for i in range(a, b):

num = str(i)

length = len(num)

sum = 0

for y in num:

sum += int(y)**length

if sum == int(i):

answer.append(str(i))

if len(answer) == 0:

answer.append('-1')

print(' '.join(answer))

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика