7 18 二分法求多項式單根

2021-08-13 13:06:07 字數 1232 閱讀 5850

二分法求函式根的原理為:如果連續函式(在區間[的兩個端點取值異號,即(,則它在這個區間內至少存在1個根

r,即(。

二分法的步驟為:

本題目要求編寫程式,計算給定3階多項式(在給定區間[內的根。

輸入在第1行中順序給出多項式的4個係數a​

3​​、

a​2​

​、a​

1​​、

a​0​

​,在第2行中順序給出區間端點a和

b。題目保證多項式在給定區間內存在唯一單根。

在一行中輸出該多項式在該區間內的根,精確到小數點後2位。

3 -1 -3 1

-0.5 0.5

0.33

我楞沒看出來我的**跟網上找的有什麼不同

下面是我的**,結果是用例1和用例3死活不通過。。。。

測試點提示

結果耗時記憶體0

sample 非整數根

答案正確

2 ms

128kb

1二分正好在中點

答案錯誤

2 ms

128kb

2區間端點是根

答案正確

1 ms

340kb

3中點的f值很小但不一定是根

答案錯誤

2 ms

128kb

#includeint a3, a2, a1, a0;

float f(float g);

int main()

if(f(b)==0)

while((b-a)>0.001 && f(a)*f(b)<0)

if(r*f(a)<0)

if(r*f(b)<0)

r = f((a+b)/2);

}printf("%.2f", (a+b)/2);

system("pause") ;

}float f(float g )

下面是網上找的**,一下子就通過了

#include float f(float x);

float a3, a2, a1, a0;

int main()

printf("%0.2f",c);

system("pause");

}float f(float x)

7 18 二分法求多項式單根

7 18 二分法求多項式單根 20 分 二分法求函式根的原理為 如果連續函式f x 在區間 a,b 的兩個端點取值異號,即f a f b 0,則它在這個區間內至少存在1個根r,即f 0。二分法的步驟為 檢查區間長度,如果小於給定閾值,則停止,輸出區間中點 a b 2 否則 如果f a f b 0,則...

7 18 二分法求多項式單根 (20 分

7 18 二分法求多項式單根 20 分 二分法求函式根的原理為 如果連續函式f x 在區間 a,b 的兩個端點取值異號,即f a f b 0,則它在這個區間內至少存在1個根r,即f 0。二分法的步驟為 檢查區間長度,如果小於給定閾值,則停止,輸出區間中點 a b 2 否則 如果f a f b 0,則...

7 18 二分法求多項式單根 (20 分

7 18 二分法求多項式單根 20 分 二分法求函式根的原理為 如果連續函式f x 在區間 a,b 的兩個端點取值異號,即f a f b 0,則它在這個區間內至少存在1個根r,即f 0。二分法的步驟為 檢查區間長度,如果小於給定閾值,則停止,輸出區間中點 a b 2 否則 如果f a f b 0,則...