Этот алгоритм только для степеней двойки.
Насколько я понял автора темы, ему нужен алгоритм для возведения произвольного числа в степень вида
, а вовсе не для вычисления степеней двойки.
Polytech, а нельзя для вычисления
просто
раз возвести в квадрат, а потом результат поделить на
? Или деление -- это слишком долго?
И что такое "бинарка"?
А я тогда не понял.
Бинарка - это видимо алгоритм быстрого возведения в степень, путем разбиения степени по битам и т.о. оптимизации вычислений (если уже вычислено число a^2, то a^4 получается (a^2)^2 а a^3=(a^2)*a) - количество операций (умножений) равно двоичному логарифму от степени, т.е. N.
Короче алгоритма не существует.
Ну разве что можно разлагать степень не в двоичный код, а в любой другой, например троичный и использовать тот же самый бинарный принцип - но ведь это по сути будет тот же самый алгоритм.
Т.е. других алгоритмов не существует.