秦九韶演算法實現

2021-09-27 10:16:21 字數 874 閱讀 3892

/**

* 設定多項式的係數,為1.0 ~ 10.0之間的隨機數

* @param num

* @return

*/public arraylistgetrandomcoefficient(integer num)

return arraylist;

}/**

* 秦九韶演算法計算結果

* @param arraylist

* @param x

* @return

*/public double getresultby**sh(arraylistarraylist,float x)

long end = system.currenttimemillis();

logger.info("秦九韶演算法所用時間為:"+(end - start) + "毫秒");

return v; //f(xn) = v

}/**

* 傳統的多項式計算方式

* @param arraylist

* @param x

* @return

*/public double getresultbyold(arraylistarraylist,float x)

}p = p + coefficient*temp;

}*/// return p;

int n = arraylist.size() - 1;//係數個數的大小減去1就是x項的最高次

double res = 0d;

long start = system.currenttimemillis();

for (double an:

arraylist)

秦九韶演算法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 第一行輸出...

2 10 霍納法則 秦九韶演算法 求多項式

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 ...