|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
Разложение на множители19.08.2020, 09:43. Показов 19984. Ответов 31
Метки нет (Все метки)
Задача разложения числа на простые(!) множители решается многими методами и довольно быстро.
Существует ли встроенная функция или метод для волучения всех(!) вариантов получения числа произведением других натуральных чисел. Для себя сделал, но, например, для числа 720 время нахождения всех вариантов занимает ~ 0,3 сек Хотелось бы быстрее
0
|
|
| 19.08.2020, 09:43 | |
|
Ответы с готовыми решениями:
31
Разложение на множители Разложение на простые множители Разложение на простые множители |
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 19.08.2020, 16:26 [ТС] | |
|
ФедосеевПавел,
Не всегда У 24 максимально длинное - 2, 2, 2, 3 А "верным" разложением будет - 2, 3, 4
0
|
|
|
Status 418
|
|
| 19.08.2020, 18:22 | |
|
для N = 997
ответ: 6696928794914170755927656556625011316008 7800731595850465234399273146940695308507 6558248986759809911329746670573470716765 7419658035576962772490360984186609252459 1048592651443658881716281639819636737213 6384565404686473871329212422972447846496 6298164321606997798554088854787768644782 89024177325354254336 что равно Кликните здесь для просмотра всего текста
2**996
Добавлено через 4 минуты для N = 996 996 = 2 * 2 * 3 * 83 ответ: 1523246532714432760129781760 что равно Кликните здесь для просмотра всего текста
(2** 82) * (3**2) * (5**1) * (7**1)
или я не прав?
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 19.08.2020, 19:01 [ТС] | ||||||
|
Прав
Оба ответа верны Добавлено через 11 минут Полный код :
Поэтому и спрашивал совета, есть ли более оптимальная возможность получения всех списков-вариантов. При удалении внутри цикла ответ получается неверным
0
|
||||||
|
Status 418
|
||||||
| 19.08.2020, 20:18 | ||||||
Сообщение было отмечено Gdez как решение
Решение
для этих чисел ответ не верен.
1
|
||||||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 19.08.2020, 20:42 [ТС] | |
|
Для 8 у Вас выводит 30 - 1, 2, 3, 5, 6, 10, 15, 30
У меня 24 - 1,2,3,4,6,8,12,24 24 < 30
0
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
|
| 19.08.2020, 21:15 [ТС] | |
|
Извините, неверно подумал...
Добавлено через 28 минут Интересно: Из 63 "неверных" ответов 55 кратны 8 У оставшихся 7 - 2^2 * 3^3 2^1 * 3^4 2^0 * 3^5 2^2 * 3^4 2^1 * 3^5 2^0 * 3^6 2^2 * 3^5 = 972 (последнее) 2^1 * 3^6 2^0 * 3^7 - тоже не проходят
0
|
|
|
Модератор
|
|
| 19.08.2020, 22:10 | |
|
Увидел разбор "на бумаге" решения для N=16:
Разложим N на множители: 1. 2. 3. 4. 5. После чего сравнивались варианты и выбирался ответ: 120. Т.е. присутствует некоторый перебор. Получается, что для каждого простого делителя числа N нужно получить разложение на множители и перебрать все комбинации. ----------------------------------------------------- Тогда вижу решение таким. Тут пригодится разложение на слагаемые. И, видимо, для получения комбинаций для следующего простого делителя, придётся воспользоваться рекурсией. Из итоговой комбинации получить число X и запомнить его для сравнения. Возможно, какие-то условия могут ограничить рекурсию и сократить перебор. Но именно это и реализовано в сообщении #23 Так что идей пока нет.
1
|
|
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
|
||||||
| 20.08.2020, 10:32 [ТС] | ||||||
Сообщение было отмечено ФедосеевПавел как решение
Решение
Все таки itertools.combinations
Добавлено через 2 минуты Время < 200 мсек Память 300 KБ N - проверял до 2*10^7, а не до 1000
1
|
||||||
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
||||||
| 20.08.2020, 14:00 | ||||||
|
Недавно начал изучать язык, решил попробовать написать свой вариант
Базируется на решете Эратосфена, вроде быстро, но мне кажется что это "быдлокод" Что думаете?
0
|
||||||
|
16 / 14 / 4
Регистрация: 05.06.2019
Сообщений: 79
|
|
| 20.08.2020, 14:05 | |
|
Оу, задача то в другом состоит...
Прочитал первый пост в треде и пошел писать, хех)
0
|
|
| 20.08.2020, 14:05 | |
|
Помогаю со студенческими работами здесь
32
Разложение на простые множители (Время: 1 сек. Память: 16 Мб Сложность: 27%) Разложение на множители Разложение на простые множители (сириус) Разложение на множители Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|