二分法求函式根的原理為:如果連續函式(在區間[的兩個端點取值異號,即(,則它在這個區間內至少存在1個根
r,即(。
二分法的步驟為:
本題目要求編寫程式,計算給定3階多項式(在給定區間[內的根。
輸入在第1行中順序給出多項式的4個係數a
3、
a2
、a
1、
a0
,在第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,則...