Предмет: Информатика, автор: styles23

Питон

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

Ответы

Автор ответа: olegsorokin02
1

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)


styles23: ***Ошибка***
Traceback (most recent call last):
File "__tester__.python3", line 17, in
a = int(input())
ValueError: invalid literal for int() with base 10: '100 400'
olegsorokin02: Да, ввод через пробелы же, щас пофиксим
Похожие вопросы
Предмет: Русский язык, автор: матиматик13