秦九韶演算法C語言

2021-10-22 18:20:41 字數 917 閱讀 1908

最近在學數值分析,需要進行演算法編碼,小小的記錄一下自己的實驗!

關於秦九韶演算法求解多項式,開始之前看了很多同學的分享,基本採用的都是陣列儲存係數再進行迴圈。

但是直接用c語言陣列靜態儲存感覺不太方便,必須提前約定陣列規模,無法隨著輸入數的改變而變動。

所以這裡就換成了動態記憶體分配的方法qwq, 採用malloc函式進行空間調配。

#include

#include

intmain()

int v = ptr[length -1]

;//v=an初始值,秦九韶,v=v*x+an-k

int x =0;

printf

("請輸入待求式x的值:\n");

scanf_s

("%d"

,&x)

;for

(i = length -

1; i >

0; i--

)printf

("最終結果為:%d\n"

, v)

;free

(ptr);}

return0;

}

1.降序輸入或是公升序輸入均可,記得改變迴圈部分就行;

2.數值用的int型,可以自己進行設定;

3.外層迴圈條件直接用的while(1)有些些些許的暴力,用eof或者採用exit會好一點,但是條件判斷用啥暫時沒想好。。。就沒寫了

4.其他類似讀取檔案流啊等等各種資料操作方法嘗試都可

5.因為用的vs2015,安全檢測比較嚴格所以寫的是scanf_s

emmm感覺也沒啥補充的了,那就這樣吧qwq!

秦九韶演算法實現

設定多項式的係數,為1.0 10.0之間的隨機數 param num return public arraylistgetrandomcoefficient integer num return arraylist 秦九韶演算法計算結果 param arraylist param x return ...

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