Несколько способов быстро находить все делители большого составного числа:
- Поиск до корня числа. qna.habr.com Меньший из двух делителей всегда будет меньше корня из исходного числа. ru.stackoverflow.com Поэтому нужно перебирать числа до корня, и если они делятся на исходное, то больший делитель находить делением на текущее перебираемое число. ru.stackoverflow.com
- Разложение числа на простые множители и перебор всех их комбинаций. qna.habr.com repetitor.1c.ru Для этого нужно разложить число на простые множители, выписать каждый из множителей один раз (если есть, например, несколько двоек, то запишем её только один раз) и перемножить множитель на множитель во всех возможных комбинациях. repetitor.1c.ru Например, если их всего три, то перемножим их попарно — это будет уже три дополнительных делителя числа. repetitor.1c.ru Далее остаётся произведение каких-то двух простых множителей умножить на третий простой множитель — так получим четвёртый делитель. repetitor.1c.ru
Также можно использовать формулу для определения количества делителей после разложения числа на простые множители. ru.wikihow.com Для этого нужно перемножить степени для всех простых множителей (предварительно прибавив к ним 1). ru.wikihow.com
Выбор алгоритма зависит от конкретных условий задачи.