p(n) = a0 * x0 + a1* x1 + a2 * x2 + … + an * xn
定義tmp = an+1 = 0
上推一步:an+1 * x + an tmp = tmp *x + k[n] = k[n]
第一步:先求an * x + an-1 tmp = k[n] * x + k[n-1]
第二步:第一步的結果再乘以x +an-2。就是(an * x + an-1) * x + an-2 (k[n] * x + k[n-1]) *x + an-2
第三步:...
第n-1步:
第n步:第n-1 步的結果乘以x + a0
求出結果
階數是已知的,係數也是已知的。x是引數,求出函式的解。
1、整形係數、整形引數返回整形值的實現
int k = ;//儲存的是a0、a1...an
long horner(int*k,int n,long x)
return y;
}int main(int argc,char **argv)
秦九韶演算法實現
設定多項式的係數,為1.0 10.0之間的隨機數 param num return public arraylistgetrandomcoefficient integer num return arraylist 秦九韶演算法計算結果 param arraylist param x return ...
秦九韶演算法C語言
最近在學數值分析,需要進行演算法編碼,小小的記錄一下自己的實驗!關於秦九韶演算法求解多項式,開始之前看了很多同學的分享,基本採用的都是陣列儲存係數再進行迴圈。但是直接用c語言陣列靜態儲存感覺不太方便,必須提前約定陣列規模,無法隨著輸入數的改變而變動。所以這裡就換成了動態記憶體分配的方法qwq,採用m...
noip 解方程 秦九韶演算法
已知多項式方程 a0 a1x 1 a2 x2 an 1xn 1 an xn 0 求這個方程在 1,m 內的整數解 n 和 m 均為正整數 輸入共 n 2 行。第一行包含 2 個整數 n m,每兩個整數之間用乙個空格隔開。接下來的 n 1 行每行包含乙個整數,依次為a0 a1,a2,a n 第一行輸出...