|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
Разложение на множители19.08.2020, 09:43. Показов 20270. Ответов 31
Метки нет (Все метки)
Задача разложения числа на простые(!) множители решается многими методами и довольно быстро.
Существует ли встроенная функция или метод для волучения всех(!) вариантов получения числа произведением других натуральных чисел. Для себя сделал, но, например, для числа 720 время нахождения всех вариантов занимает ~ 0,3 сек Хотелось бы быстрее
0
|
|
| 19.08.2020, 09:43 | |
|
Ответы с готовыми решениями:
31
Разложение на множители Разложение на простые множители Разложение на простые множители |
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 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,320
|
||||||
| 19.08.2020, 19:01 [ТС] | ||||||
|
Прав
Оба ответа верны Добавлено через 11 минут Полный код :
Поэтому и спрашивал совета, есть ли более оптимальная возможность получения всех списков-вариантов. При удалении внутри цикла ответ получается неверным
0
|
||||||
|
Status 418
|
||||||
| 19.08.2020, 20:18 | ||||||
Сообщение было отмечено Gdez как решение
Решение
для этих чисел ответ не верен.
1
|
||||||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
|
|
| 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,320
|
|
| 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,320
|
||||||
| 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 | |
|
Разложение на простые множители (Время: 1 сек. Память: 16 Мб Сложность: 27%) Разложение на множители Разложение на простые множители (сириус) Разложение на множители Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|