Как найти простые множители числа c
Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль
| Поиск по форуму |
| Расширенный поиск |
| К странице. |

| Страница 1 из 2 | 1 | 2 | Следующая > |
Так же как и в других языках программирования , просто взять и разложить , как бы ты сделал это в математике , методом проверки .
Начать с 2 ( простого числа) и делить , пока длиться число , уменьшая его . Если не делить на 2 , то перейти к следующему простому числу , то есть 3 и т.д. , пока в конце не останется от числа 1 .
Как найти простые множители числа в c ++?
Я пытаюсь ответить на вопрос № 3 по проекту Эйлера и не получаю желаемого результата. Моя логика:
- Перечислите все множители числа 13195 и сохраните их в массиве.
- Проверьте, является ли каждое число в массиве простым.
- Если число окажется простым, сохраните его в другом массиве.
- отобразить содержимое второго массива.
- Надеюсь, он содержит только простые множители.
РЕЗУЛЬТАТ: Первый массив содержит все факторы, как и ожидалось. Второй, я думаю, дублирует первый массив или проскальзывает в некоторых не простых числах. Пожалуйста, помогите! 🙂
Разбиение чисел на простые множители [дубликат]
Как быстро разбить числа до 10ˆ18 на простые множители?
![]()
Ну, для гарантии — надо проверить делимость на простые числа до 10^9. Их примерно 48 миллионов — не так уж и много 🙂 Так что можно даже простым перебором по всем простым числам, простите за каламбур.
Update Вот, пользуясь выходным :), набросал программку. На моей машине решетом Эратосфена строит таблицу простых чисел до 1e9 за немного меньше 6 секунд, после чего разлагает на множители числа порядка 9e17 за 0.23с в среднем; минимально — мгновенно (микросекунды), максимально — 0.45 с. Конечно, не скажу, что это быстро, но. Компилировал 64-разрядную программу.