0 / 0 / 0
Регистрация: 08.05.2019
Сообщений: 3
|
||||||
Максимальное количество делителей в диапазоне08.05.2019, 18:55. Показов 13383. Ответов 5
Здравствуйте, нужна помощь по оптимизации программы.
Вот сама программа
(1 ⩽ a ⩽ b ⩽ 106, b − a ⩽ 3000). ПРи этом ограничение по времени 2 секунды При крупных числах очень долго производит операции и не укладывается во время.
0
|
08.05.2019, 18:55 | |
Ответы с готовыми решениями:
5
Максимальное количество делителей
Максимальное количество делителей числа |
08.05.2019, 20:51 | ||||||
WillyamAnsuok, Таких тем было уже несколько, и однозначно можно сказать, что при больших числах напрямую перебором поиск делителей происходит очень долго, выполняется часами. Может существуют какие то математические алгоритмы для быстрого поиска делителей, я не знаю.
Если на практике, а не для тестирующей программы понадобиться искать делители, то я знаю только один, быстро работающий способ. Создать таблицу простых чисел, заранее их найдя, и потом использовать эту таблицу для поиска делителей. Но это не для тестирующей программы. Кстати в Википедии есть таблица с 500 первыми простыми числами.
1
|
0 / 0 / 0
Регистрация: 08.05.2019
Сообщений: 3
|
|
08.05.2019, 21:02 [ТС] | |
Viktorrus, Спасибо, я уже пока сидел вывел и для больших чисел формулу.
Нужно смотреть от а до корня из б, и потом, если корень из б иррациональный, то просто умножаем на 2 кол-во получившихся делителей, если же корень целый, то умножаем на два и вычитаем 1
0
|
08.05.2019, 21:27 | |
WillyamAnsuok, Когда напишете код, используя Ваш алгоритм, если не сложно, выложите его сюда. Так как такие задачи периодически появляются на форуме.
0
|
0 / 0 / 0
Регистрация: 08.05.2019
Сообщений: 3
|
||||||
08.05.2019, 21:50 [ТС] | ||||||
Viktorrus,
Алгоритм рабочий, но долгий. Сейчас занимаюсь оптимизацией
0
|
09.05.2019, 04:41 | |||||||||||
WillyamAnsuok, Я оказывается перепутал количество делителей и разложение на простые числа. Буду разбираться.
Добавлено через 1 час 9 минут Вот написал правильный код использующий таблицу.
Ваш код выдает число 2520. Оно имеет 48 делителей. У меня выдает число 3360 , которое имеет тоже 48 делителей. У этих двух чисел максимальное количество делителей в диапазоне от 500 до 3500.
0
|
09.05.2019, 04:41 | ||||||
Помогаю со студенческими работами здесь
6
Найти числа, имеющие максимальное количество различных делителей Найти номер элемента списка, имеющего максимальное количество целочисленных делителей
Найти среди чисел то, которое имеет максимальное количество делителей и то, у которого сумма делителей максимальна
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
|
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
|
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
|
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
|
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
|
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
|
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|