我在Steven S. Skiena的算法设计手册第二版中完成了练习1-8:
有说服力吗?
答案 0 :(得分:4)
通常在感应校样中,您将步骤彼此分开。诱导步骤对我来说太含蓄了。我会这样做:
1)对于n = 1 horner([a0],x)= a0
2) horner([a0,...,a(n + 1)],x)= x * horner([a1,...,a(n + 1)] ,x)+ a0 = x * horner([b0,...,bn],x)+ a0,其中bn = a(n + 1)
3)因此对于n具有horner,n + 1的horner可以用2)计算
你的证据很好,但正如我所说的那样 - 感应步骤应该明确加以重读 - n + 1的解决方案如何从n(m在你的情况下)的解决方案中得到,在一个单独的证明步骤中。
答案 1 :(得分:1)
答案 2 :(得分:0)
我记得这一点的方法是将P(x)写成:
P(x) = a_0 + x(a_1 + x(a_2 + ... + x(a_{n-1} + x a_n)) ... ))
直接跟随for循环。