Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2019 17:01:04

mashamironova081999
Зарегистрирован: 2018-12-19
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите

Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N – количество цифр в числе) равна самому числу. Например, 153 = 13 + 53 + 33. Найдите все трёхзначные Армстронга.

Офлайн

#2 Фев. 27, 2019 18:43:56

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите

Да сколько можно. Вы, когда за себя будете задания делать (или хотя бы пытаться)? Выкладывайте код. И где конкретно у Вас что-то не получается…

Офлайн

#3 Фев. 27, 2019 23:49:57

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Помогите

Ну видимо человеку нужно решение, а не знания
Это его выбор

 ans=[]
for x in range(100,1000):
    kv=0
    for y in str(x):
        kv+=int(y)**3
    if x==kv:
        ans.append(x)
print(ans)

Офлайн

#4 Фев. 27, 2019 23:58:45

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Помогите

А этот вариант находит все числа армстронга от 100 до 10000000
Но вычисления занимают несколько минут

 ans=[]
for x in range(100,10000000):
    kv=0
    for y in str(x):
        kv+=int(y)**len(str(x))
    if x==kv:
        ans.append(x)
print(ans)
        

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version