Алгоритмы-числа

  • 20
  • Недоступна
Ура, задачи на алгоритмы! Их очень любят резиденты планеты Линейный Хаос. И вы должны любить, по крайней мере, до того момента, как пройдёте пару-тройку собеседований. Итак, у вас есть число из некоторого количества чисел. Нужно найти все числа меньше N, которые удовлетворили бы некоторому критерию (о нём узнаете в самой задаче!).
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (614)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Вадим
Уровень 24, Новосибирск, Россия
30 сентября, 01:22
Чтоб меня из-за этой задачи я на полгода забосил. Наконец-то!
Артур
Уровень 25, Москва
9 октября, 17:37
та же фигня была )
Сергей <Т>
Уровень 32, Москва
24 сентября, 17:04
Реальная сложность данной задачи - "умри или сдохни". Для начала нужно смириться с тем, что придётся написать кучу кода, который никуда не годится. Потом идти читать про числа Амстронга тут и здесь. Чтобы найти числа Амстронга вплоть до Long.Max.Value(условие задачи), используя алгоритмы "в лоб" (brutal force algorigthm) понадобится 300+ лет. Я думаю, что , если вы обычный человек, то вам достаточно будет разобраться с теми алгоритмами, которые уже написаны для решения данной задачи в комментариях ниже или по моим ссылкам. В общем-то, думаю, что сложность нужно бы поднять этой задачи минимум до "epic" , и упомянуть в условии задачи , что ищутся числа Амстронга. А в целом, очень неплохой фитнес для головы и пальчиков.
Andrii Honyshko
Уровень 22, Киев
28 сентября, 12:36
где в условии задачи указан Long.Max.Value?
Сергей <Т>
Уровень 32, Москва
28 сентября, 15:45
Это подразумевается упоминанием long в условии задачи. Согласен, что это не очевидно, и лучше бы подправить в условии, но , в принципе можно интерпретировать так "для всех натуральных long".
Yarik Таксист в Яндекс.Такси
21 сентября, 14:13
7135 - й. 70 попыток. 3 секунды. Long.Max Value/
Alexander G.
Уровень 22, Москва, Россия
20 сентября, 18:33
Советую вернуться к задаче после прочтения книги "Грокаем алгоритмы"
zuas
Уровень 30, Нижний Новгород, Россия
19 сентября, 19:20
метку epic нужно нужно ставить на эту за дачу, не меньше. оставлю зарубку: 7126-й memory: 8175, time 2
bprint
Уровень 25
16 сентября, 05:44
Я так понял, что должно выйти 50 чисел. У меня выходит только 43. 44 число неправильно какое-то. Отрицательные суммы убрал. Потом как-нибудь вернусь к задаче. Неделю времени потерял. Редакция: Матрицу степеней сделал через цикл. До этого была через Math.pow. Теперь выводит все цифры, но валидатору все равно не нравится. В методе getNumbers не должно возникать исключений, при любых входных данных. - не знаю Все найденные числа должны быть строго меньше N. - выполнено Метод getNumbers должен возвращать массив чисел удовлетворяющих условию задачи. В массиве возвращаемом методом getNumbers не хватает элементов или есть лишние. - выполнено
Torba Z Dimom
Уровень 23, Киев, Украина
16 сентября, 00:33
Почитал о "Числах Армстронга", о алгоритмах их вычислений. Восхитился интересностью задачи и ... понял, что ухайдохаю сюда много времени, да и пропустил до будущих времен)
Jer0me
Уровень 32, Екатеринбург, Россия
3 сентября, 08:35
Задача очень понравилась, это было круто!!! Сначала конечно написал в тупую перебор всех чисел от 1 до N. Ждать, пока программа выполнится с Long.MAX_VALUE до конца не стал, хотя мысль была на ночь оставить и для прикола посмотреть, сколько времени займет. До того, что не нужно каждый раз высчитывать степень, а нужно составить таблицу и брать ответы из нее, дошел сам. А вот мысль, что вместо того, чтобы перебирать все от 1 до N, нужно генерировать уникальные сочетания цифр, подсмотрел в коментах, своя только реализация, так что по сути решение задачи - не моя заслуга! на задачу ушло примерно 8 часов. всего решивших 7073. на Long.MAX_VALUE уходит 2.1 секунды, дальше бодаться за время не стал.
Руслан
Уровень 23, Стерлитамак, Россия
31 августа, 04:21
Эта задача по поиску чисел Армстронга. - условие не внятное. Я считерил ребята, времени ломать голову нету. 1 день потратил уже. Максимум что я нашёл, когда оставил комп на ночь 94204591914L. Подумал комп завис, а там число следующее на 2 порядка больше 28116440335967L. В итоге просто сделал список чисел Армстронга. Задача не внятная, хотя бы написали до какого числа (Long.MAX_VALUE) должна выполнятся задача.
Дмитрий Б.
Уровень 29, Благовещенск, Россия
29 августа, 07:13
Уфффф. Отныне я, после недели мозголомства, среди тех кто решил. По состоянию на 29.08.2021 нас 7047. Мотивашки теперь хоть отбавляй.😁