|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
|
|
Разложение на множители19.08.2020, 09:43. Показов 20013. Ответов 31
Метки нет (Все метки)
Задача разложения числа на простые(!) множители решается многими методами и довольно быстро.
Существует ли встроенная функция или метод для волучения всех(!) вариантов получения числа произведением других натуральных чисел. Для себя сделал, но, например, для числа 720 время нахождения всех вариантов занимает ~ 0,3 сек Хотелось бы быстрее
0
|
|
| 19.08.2020, 09:43 | |
|
Ответы с готовыми решениями:
31
Разложение на множители Разложение на простые множители Разложение на простые множители |
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
|
|
| 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,318
|
||||||
| 19.08.2020, 19:01 [ТС] | ||||||
|
Прав
Оба ответа верны Добавлено через 11 минут Полный код :
Поэтому и спрашивал совета, есть ли более оптимальная возможность получения всех списков-вариантов. При удалении внутри цикла ответ получается неверным
0
|
||||||
|
Status 418
|
||||||
| 19.08.2020, 20:18 | ||||||
Сообщение было отмечено Gdez как решение
Решение
для этих чисел ответ не верен.
1
|
||||||
|
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
|
|
| 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,318
|
|
| 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,318
|
||||||
| 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 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|