函式介面定義:
double f( int n, double a, double x );
其中n是多項式的階數,a中儲存係數,x是給定點。函式須返回多項式f(x)的值。
很自然的就會反應出一種愚蠢的解法,是這樣的想法:
double f( int n, double a, double x)
}
這種解法如此自然,還能得到有效直接,因為c語言函式庫中有直接求n次方的函式,直接呼叫就好了嘛!
但是這種解法會在某些測試點通不過。
改正如下:
double f ( int n, double a[ ], double x )
return
sum;
}
對比兩種解法可知,後一種解法的乘法少了很多次。其實是用num變數,保留了上一次已經乘過的結果。
如5的9次方,第一種解法會在求過5的8次方後,進入下一輪迴圈時,還會從頭到尾再老老實實乘一遍。。。做人如此老實當然沒問題,解題如此就太耗時間了。
第二種解法很明顯就用num保留了5的8次方,在求5的9次方時,只需要再進行一次乘法即可。
4 2 多項式求值 15分
本題要求實現乙個函式,計算階數為n,係數為a 0 a n 的多項式f x sum a i times x i f x i 0 n a i x i 在x點的值。double f int n,double a,double x 其中n是多項式的階數,a中儲存係數,x是給定點。函式須返回多項式f x 的值...
4 2 多項式求值 15分
本題要求實現乙個函式,計算階數為n,係數為a 0 a n 的多項式f x sum a i times x i f x i 0 n a i x i 在x點的值。double f int n,double a,double x 其中n是多項式的階數,a中儲存係數,x是給定點。函式須返回多項式f x 的值...
4 2 多項式求值 15分
本題要求實現乙個函式,計算階數為n,係數為a 0 double f int n,double a,double x 其中n是多項式的階數,a中儲存係數,x是給定點。函式須返回多項式f x 的值。include define maxn 10 double f int n,double a,double...