[問題] 96年地特 程式語言

看板Examination作者 (夏夜星)時間9年前 (2016/06/22 21:56), 編輯推噓3(306)
留言9則, 3人參與, 最新討論串1/1
題目與解答如下 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.分解動作也不是很懂 謝謝各位教導! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.206.122 ※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1466603818.A.2C5.html

06/22 22:11, , 1F
歡迎入我們資訊處理的賴群組喔!站內信給我你的賴即可
06/22 22:11, 1F

06/22 23:34, , 2F
Horner's method就是計算多項式的另一種解法,將式子化
06/22 23:34, 2F

06/22 23:34, , 3F
成aX+b的形式,a又可以提出X變cX+d,這樣層層提出
06/22 23:34, 3F

06/22 23:34, , 4F
藉由提出公因數x以減少次方項運算的次數(也就是乘法次
06/22 23:34, 4F

06/22 23:34, , 5F
數)。導數只是Pi對x微分...程式碼最後只是照題目給的公
06/22 23:34, 5F

06/22 23:35, , 6F
式寫,迭代算出P(x)跟dP(x)的值而已
06/22 23:35, 6F

06/22 23:43, , 7F
所以不能用一般多項式的眼光來看是這個意思嗎?
06/22 23:43, 7F

06/23 00:05, , 8F
可以,但題目要求用這個方法,所以你寫別的方法會沒分數
06/23 00:05, 8F

06/23 00:06, , 9F
謝謝 大概懂了
06/23 00:06, 9F
文章代碼(AID): #1NQfagB5 (Examination)