Как найти простые множители числа c
Перейти к содержимому

Как найти простые множители числа c

Как найти простые множители числа c

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

Поиск по форуму
Расширенный поиск
К странице.

Страница 1 из 2 1 2 Следующая >

Так же как и в других языках программирования , просто взять и разложить , как бы ты сделал это в математике , методом проверки .

Начать с 2 ( простого числа) и делить , пока длиться число , уменьшая его . Если не делить на 2 , то перейти к следующему простому числу , то есть 3 и т.д. , пока в конце не останется от числа 1 .

Как найти простые множители числа в c ++?

Я пытаюсь ответить на вопрос № 3 по проекту Эйлера и не получаю желаемого результата. Моя логика:

  1. Перечислите все множители числа 13195 и сохраните их в массиве.
  2. Проверьте, является ли каждое число в массиве простым.
  3. Если число окажется простым, сохраните его в другом массиве.
  4. отобразить содержимое второго массива.
  5. Надеюсь, он содержит только простые множители.

РЕЗУЛЬТАТ: Первый массив содержит все факторы, как и ожидалось. Второй, я думаю, дублирует первый массив или проскальзывает в некоторых не простых числах. Пожалуйста, помогите! 🙂

Разбиение чисел на простые множители [дубликат]

Как быстро разбить числа до 10ˆ18 на простые множители?

user avatar

Ну, для гарантии — надо проверить делимость на простые числа до 10^9. Их примерно 48 миллионов — не так уж и много 🙂 Так что можно даже простым перебором по всем простым числам, простите за каламбур.

Update Вот, пользуясь выходным :), набросал программку. На моей машине решетом Эратосфена строит таблицу простых чисел до 1e9 за немного меньше 6 секунд, после чего разлагает на множители числа порядка 9e17 за 0.23с в среднем; минимально — мгновенно (микросекунды), максимально — 0.45 с. Конечно, не скажу, что это быстро, но. Компилировал 64-разрядную программу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *