197 Разложить число на простые... - вопрос №607892

197. Разложить число на простые множители.как решить в лазарусе

14.04.13
2 ответа

Ответы

ни как. это простое ))

 

можно попытаться искать делители перибором

очевидно что для нечетного числа ни когда не будет четных делителей, значит перебор можно вести от 3

для определения верхней границы перебора можно рассуждать следующим образом — если у числа существуют делители, то меньший из них обязательно меньше или равен корню из этого числа

алгоритм может быть таким:

поиск-младшего-целого-делителя дляисследуемого-числа

1 — извлекаем корень из исследуемого числа

2 — округляем до меньшего целого значения

3 — если получается четная величина — вычитаем единицу, это и будет верхняя-граница для младшего делителя

4 — организуем цикл перебора кандидата-делителя от 3 до полученного значения верхней-границы с шагом 2:

в цикле находим остаток от деления исследемого-числа на кандидат-делитель

если остаток равен 0 — младший делитель найден:

печатаем значечение

рекурсивно вызываем поиск-младшего-целого-делителя для частного-от-деления

завершаем работу

5 — если цикл проден полностью и ни одного делителя не найдено — исследуемое-число — простое

 

14.04.13

Решето Эратосфена — проще намного.

1.  Делишь число N на все числа от 1 до N. Те,  которые дают остаток от деления — вычеркиваешь. Т.О, получаешь простые числа от 1 до N

2. Делишь N на получившиеся простые числа. Ищешь,  где при делении нет остатка.

 



02.05.13
Посмотреть всех экспертов из раздела Технологии > Delphi
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store