СЩ
Светлана Щевелёва

паскаль сокращение перебора

Здравствуйте
дано натуральное число, нужно найти все его делители (тоже натуральные числа)
до минимума сократив количество перебираемых чисел.
пример: зная что число делится только на 2 и 3, например число 36,
как сократить перебор, не используя оператор for
делителями числа 36 является следующая последовательность цифр 1,2,3,4,6 или посложнее -
делителями числа 108 являются 1,2,3,4,6,9 вот кусочек программы

readln (x);
if ( x mod 2=0) and (x mod 3=0) and (x mod 5<>0) and (x mod 7<>0) then
begin
while trunc ( sqrt (x) )>=y do begin

x -это натуральное число для которого нужно найти делители (тоже натуральное числа)
y - это делители числа x
интересует, как можно вывести эти цифры 1,2,3,4,6,9 не прибегая к
оператору фор так как для больших значений икс время перебора с фор
значительно увеличится
желательно не решать за меня, а просто указать правильное направление
куда думать (если конечно есть такое)

Ал
Алек

Я бы делал так - поделил на 2, пока делится. Потом поделил на 3 (пока делится) , потом на следующие нечетные (часть будет лишних, но да и фиг с ним).

Похожие вопросы
Перебор вариантов, чисел без повтора
Защита программы от взлома перебором.
паскаль паскаль паскаль
помогие с подзадачей. перебор
код для полного перебора
подскажите какой нибудь алгоритм перебора всех значений
Перебор точек, с++,подскажите пожалуйста.
С++.Алгоритм рекурсивной процедуры перебора.
Можно ли написать паскаль на паскале???
Что такое метод перебора?