/**
* 設定多項式的係數,為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 ...