java числа армстронга



Автор Вик Торнов задал вопрос в разделе Java

Как усовершенствовать (ускорить) данный алгоритм по поиску чисел Армстронга)? и получил лучший ответ

Ответ от Jurijus Zaksas[гуру]
В десятичной системе существует всего 88 чисел Армстронга. Соответственно, быстрее всего их просто взять из таблички и напечатать.
Jurijus Zaksas
(186760)
Надо просто хранить возведенные в степень числа и их суммы, а не считать их каждый раз и не возводить. Пересчет массива - при только при изменении степени.
Начинать при этом стоит с самого большого числа и "сматывать" вниз.

Ответ от Shalafi[гуру]
задалбали кидать на мэил код, кидайте ссылкой на пастбин...

Ответ от User51942[гуру]
перебираешь длину числа, генерируешь массив чисел 0..9 в степени длины
рекурсией (или чем там модно) перебираешь нужное количество цифр, считаешь их сумму с учётом возведения в степень и смотришь, можно ли получить это число путем перестановки перебранных цифр
я хреново объясняю, так что ищи готовый пример на питоне на странице OEIS

Ответ от Їайкин Виталий[гуру]
Разбить задачу на этапы:
1. вычисляем квадраты, кубы, в четвертой ...от 1 до max
2. перебираем числа от 1 до Предела, суммируем числа вычисленные на этапе 1

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как усовершенствовать (ускорить) данный алгоритм по поиску чисел Армстронга)?
Числа Армстронга на Википедии
Посмотрите статью на википедии про Числа Армстронга
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*