Каков наилучший (наиболее эффективный) алгоритм нахождения всех целых степенных корней числа?
То есть, имея число n
, я хочу найти b
(основание) и e
(показатель степени) такие, что
n = бе
Я хочу получить все возможные пары значений b
и e
Ps: n
b
и e
должны быть целыми положительными числами .
e
быть целым числом? - person Francois G   schedule 26.12.2011n/2
и создайте массив целых чисел размера n/2 + 1, назовите его A, установленным в ноль при запуске, затем для каждого из простых чисел (p) проверьтеn/p == 0
или нет, пока n/p == 0, установите n/= p и увеличьте A[p], тогда у вас будет простая факторизация. Если вам нужен более быстрый метод для этого, задайте его в новом вопросе. - person Saeed Amiri   schedule 26.12.2011n/2
, просто иди кsqrt(n)
. Любой оставшийся множитель автоматически становится последним простым числом. - person btilly   schedule 26.12.2011Y=X**a
для известныхX
иa
. - person Serge Dundich   schedule 28.12.2011