一. 目的與背景知識
1、生成乙個多項式
2、根據horner規則求解多項式的值。
偽**如下:
y=0
for i=n down to 0
y=a[i]+x*y
上述偽**即描述了求解a[0]+a[1]x^1+…+a[n] ( x ^n )
二. **實現
1、多項式展示與計算類
#include
namespace myalgorithm;
~polynomial(){};
void showpolynomial()
if (i != size - 1)
}cout
<< endl;
};void computervalue(t variable)
cout
<< sum << endl;
};};
}
2、呼叫**
#include
#include"polynomial.h"
#include"test.h"
#define n_count 10
int main()
3、結果輸出
三. 錯誤清單
1、函式未加;導致編譯不過。
2、三個原始檔cpp共同含有兩個main1方法導致編譯不過。
3、elseif結構使用導致多項式展示缺少+
4、未加停頓語句,導致視窗一閃而過。
5、對陣列位址加下標方式理解不到位。
四. 經驗總結
1、沒有加命名空間的函式,預設為std.同乙個命名空間不能有兩個相同的定義。
2、注意邏輯分支的處理。
五. 後續內容
進行陣列逆序對的練習。
多項式horner演算法學習
horner演算法描述 p x 是乙個多項式 我們希望計算x 取某個特殊值 x0時多項式的值 p x0 構造乙個序列 所以最終的求和轉換成求出 b0的值,遞迴的源頭是bn horner演算法主要在於將多次乘法運算分解成為加法運算,通過 對於計算機而言,加法運算總是比乘法來的容易。變式前的運算次數 1...
Horner規則實現多項式求值 C語言版
這裡先簡單說一下霍納規則 horner 採用最少的乘法運算策略,求多項式an x n an 1 x n 1 a1 x a0,在x0 處的值。即h x0 an x0 an 1 x0 a1 x0 a0,也就是說盡可能地提取公因數x 0以減少乘法運算次數。下面用c實現這個演算法。horner多項式求解 i...
多項式的值
時間限制 1 sec 記憶體限制 32 mb 實現乙個多項式的類 a b x c x 2 d x 3 要求輸入該多項式的係數和x 的值後列印出這個多項式的值。輸入第一行為樣例數m,對於每個樣例,第一行為多項式最高項次數n,接下來n 1個整數表示每項係數,最後乙個整數x,n不超過10。輸出m行,表示個...