Re: [考題] 102年高考計算機概論第2題

看板Examination作者 (letterstar)時間12年前 (2013/07/17 09:31), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《hash (hash)》之銘言: : ※ 引述《letterstar (letterstar)》之銘言: : : [考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處 : : 題目:給定一函數f(X)= (X^6)+ 2(x^4)- 5(X^2)+ 2X+ 1 : : 請提出最有效率計算方式計算f(X0),其中X0= : : 1.23456789. : : 註:一個參考計算過程(不見得為正確答案)如下 : : let a=1 : : loop i=1 to 6 : : compute a=a*x : : end loop : : let b =1 : : compute c = a+b : : 我自己的想法: : : 因為這多項式好像不能分解 : : 所以先求出X^2 : : 再求X^4 (上式平方) : : 再求X^6 (X^2)*(X^4) : : 這樣就只用三個乘法 : : 之後像是2X就可用SHIFT代替乘法 : : 然後算出F(X0) : : 請問各位高手還有什麼更有效率的方法嗎? 整理一下各種答案 1. ((((((x^2+2)x^2)-5)x+2)x)+1 共使用4個乘法 4個加減法 2. let x=1 let fx=0 let x0=1.23456789 let a[7]={1,2,-5,0,2,0,1} loop i=1 to 6 compute x=x*x0 compute fx += a[i] * x endloop compute fx += a[0] 答案就是; fx 共使用6個乘法 6個加法 3. 先計算 X^2 1個乘法 X^4=(X^2)^2 2個乘法 X^6=(X^2)*(X^4) 3個乘法 2(x^4)定點數直接使用SHIFT 1BIT可得 浮點數直接使用位元加一 2X 定點數直接使用SHIFT 1BIT可得 浮點數直接使用位元加一 5(X^2)=4(X^2)+(X^2) 4(X^2) 定點數直接使用SHIFT 2BIT可得 浮點數直接使用位元加2 之後計算 (X^6)+ 2(x^4)- 4(X^2)-(X^2) + 2X+ 1 3次加法 2個減法 共使用3個乘法 5次加減法 3個SHIFT(或浮點數位元區加法) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.175.115.22

07/17 11:05, , 1F
我用的是公式Horner's法則,如果有比這個更少的方法你可以
07/17 11:05, 1F

07/17 11:07, , 2F
投數學類的期刊一定會上的
07/17 11:07, 2F

07/17 12:14, , 3F
這題應該是要考hor的那方法
07/17 12:14, 3F

07/17 12:15, , 4F
我第一直覺也是用hor
07/17 12:15, 4F

07/17 21:12, , 5F
請問這是遞迴的一種嗎?
07/17 21:12, 5F

07/18 10:16, , 6F
hor是放在資料結構的遞回章節
07/18 10:16, 6F

07/18 10:17, , 7F
我有這印象,用遞回也蠻好寫的
07/18 10:17, 7F
文章代碼(AID): #1HvVFNTr (Examination)
文章代碼(AID): #1HvVFNTr (Examination)