[问题] 96年地特 程式语言

楼主: a303121 (夏夜星)   2016-06-22 21:56:55
题目与解答如下 http://imgur.com/a/kWsgb
在最后部分Horner's method部分完全看不懂
Pi=a[N],dPi=0;
for(i=1;i<=N;i++)
{
dPi=dPi*x+Pi;
Pi=Pi*x+a[N-1];
}
printf("P(%d)=%d,dP(%d)=%d\n",x,Pi,x,dPi)
请教一下 dPi=dPi*x+Pi和Pi=Pi*x+a[N-1]
1.目的是什么?
2.分解动作也不是很懂
谢谢各位教导!
作者: SSiuan (打屁的人)   2016-06-22 22:11:00
欢迎入我们资讯处理的赖群组喔!站内信给我你的赖即可
作者: s2327259 (史东)   2016-06-22 23:34:00
Horner's method就是计算多项式的另一种解法,将式子化成aX+b的形式,a又可以提出X变cX+d,这样层层提出借由提出公因子x以减少次方项运算的次数(也就是乘法次数)。导数只是Pi对x微分...程式码最后只是照题目给的公式写,迭代算出P(x)跟dP(x)的值而已
楼主: a303121 (夏夜星)   2016-06-22 23:43:00
所以不能用一般多项式的眼光来看是这个意思吗?
作者: s2327259 (史东)   2016-06-23 00:05:00
可以,但题目要求用这个方法,所以你写别的方法会没分数
楼主: a303121 (夏夜星)   2016-06-23 00:06:00
谢谢 大概懂了

Links booklink

Contact Us: admin [ a t ] ucptt.com