当x=9时,用秦九韶算法计算f(x)=12x的6次方+5x的5次方+8x的4次方+11x的3次方+18x²+52x+99需要进行的乘法和加法次数为什么分别是6和6?怎样算出来的,
问题描述:
当x=9时,用秦九韶算法计算f(x)=12x的6次方+5x的5次方+8x的4次方+11x的3次方+18x²+52x+99
需要进行的乘法和加法次数为什么分别是6和6?
怎样算出来的,
答
f(x)=12x^6+5x^5+8x^4+11x^3+18x^2+52x+99
=x(12x^5+5x^4+8x^3+11x^2+18x+52)+99
=x(x(12x^4+5x^3+8x^2+11x+18)+52)+99
=x(x(x(12x^3+5x^2+8x+11)+18)+52)+99
=x(x(x(x(12x^2+5x+8)+11)+18)+52)+99
=x(x(x(x(x(12x+5)+8)+11)+18)+52)+99
数下来就是6和6次了
其实这个算法精髓就是避免重复计算x的幂
比如说你计算了x^2就不用用两次乘法算x^3,只需将x^2乘x就行了……所以算x,x^2……一直到x^6只需5次,再乘上最高次幂常数12,即为6次乘法,加法自然是六次,这个算法只优化的乘法的运算~
不懂可问,