[an error occurred while processing this directive]
|
В общем виде:
X^(b#a3a2a1a0)=X^(8a3+4a2+2a1+1a0)=
{порядок записываем по схеме Горнера}
=X^[(((a3*2+a2)*2)+a1)*2+a0]=
=((((((X^a3)^2)*X^a2)^2)*X^a1)^2)*X^a0
В Вашем примере 14=b#1110, т.е. a3=1, a2=1, a1=1, a0=0.
Тогда:
X^14=((((((X)^2)*X)^2)*X)^2) - 5 умножений.
Память отводится для исходного числа X (основание), исходного числа А (показатель), и промежуточного результата, назовем его числом R (у меня для двух промежуточных результатов R1 и R2).
Не совсем понял насчет поиска оптимального пути...
Мне кажется, что схема Горнера и дает этот оптимальный путь, причем автоматически.
Ну, а насчет сравнения процессоров и времени умножения по алгоритму - то или, возможно, число 1 и 0 в числах в указанных тестах было различным, или TMS в два раза шустрее, или у PY есть хитрая оптимизация в алгоритме.
А может быть Вы совершенно правы, и мне нужно съесть свою шляпу :)
Не претендуя на исключительность,
с уважением ко всем участникам,
Oleg_0515
E-mail: info@telesys.ru