Задача

Опишите алгоритм возведения числа a в 255 степень с помощью только операции умножения:

11.1 За 14 операций умножения без использования дополнительной памяти (то есть разрешается использовать только исходное число и результат последней операции).

11.2 За 10 операций умножения с использованием любого количества дополнительной памяти.

11.3 За 10 операций умножения с использованием одной ячейки дополнительной памяти (то есть помимо исходного числа и результата последней операции, разрешается держать в памяти ещё одно число. Это число может меняться в процессе работы алгоритма).

Замечание: верное решение для 11.3 будет засчитываться и для 11.2.

Решение участника

Обозначения: a - начальное число b - результат последнего действия c - дополнительная ячейка памяти 11.1 1)b = a * a 2)b = b * a 3)b = b * b 4)b = b * a 5)b = b * b 6)b = b * a 7)b = b * b 8)b = b * a 9)b = b * b 10)b = b * a 11)b = b * b 12)b = b * a 13)b = b * b 14)b = b * a 11.3(11.2) 1)b = a * a 2)b = b * b 3)b = b * b 4)b = b * b 5)b = c = b * a 6)b = b * b 7)b = b * b 8)b = c = b * c 9)b = b * b 10)b = b * c