Быстрое возведение в степень
Напишите процедуру 
solution
, которая развивается в виде итеративного процесса и реализует возведение в степень за логарифмическое число шагов, как 
fast-expt
 (Указание: используя наблюдение, что 
(bⁿ୵²)² = (b²)ⁿ୵²
, храните, помимо значения степени 
n
 и основания 
b
, дополнительную переменную состояния 
a
, и определите переход между состояниями так, чтобы произведение 
abⁿ
 от шага к шагу не менялось. Вначале значение 
a
 берется равным 1, а ответ получается как значение 
a
 в момент окончания процесса. В общем случае метод определения инварианта (invariant quantity), который не изменяется при переходе между шагами, является мощным способом размышления о построении итеративных алгоритмов.)
Комментарии отсутствуют.