有形如:ax3
+bx2
+cx1
+dx0
=0
ax^3 + bx^2 + cx^1 + dx^0=0
ax3+bx
2+cx
1+dx
0=0 這樣的乙個一元三次方程。給出該方程中各項的係數(a,b,c,d均為實數),並約定該方程存在三個不同實根(根的範圍在*-100−100*之間),且根與根之差的絕對值≥1。要求由小到大依次在同一行輸出這三個實根(根與根之間留有空格),並精確到小數點後2位。
一行,4個實數a,b,c,d。
一行,3個實根,並精確到小數點後2位。
輸入 #1
1 -5 -4 20
輸出 #1
-2.00 2.00 5.00
思路:
求出兩個導數零點,將函式分成三個區域,每個區域中存在乙個實根
對每個區域進行二分查詢
**:
#include
using namespace std;
typedef
long
long ll;
const
long
long mod =
1e9+7;
const
int inf =
0x3f3f3f3f
;const
double pi =
3.141592
;const
int e =
1e-3
;double a, b, c, d;
double
cal(
double x)
double
tiwce
(double l,
double r)
return ans;
}int
main()
double ans[3]
; ans[0]
=tiwce(-
100, edg1)
; ans[1]
=tiwce
(edg1, edg2)
; ans[2]
=tiwce
(edg2,
100)
;sort
(ans, ans +3)
;printf
("%.2f %.2f %.2f\n"
, ans[0]
, ans[1]
, ans[2]
);return0;
}
一元三次方程求解 洛谷P1024
題目描述 有形如 ax3 bx2 cx1 dx0 0這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d均為實數 並約定該方程存在三個不同實根 根的範圍在 100至100之間 且根與根之差的絕對值 1。要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點後2位。輸入格...
洛谷 P1024 一元三次方程求解
有形如 ax 3 bx 2 cx 1 dx 0 0 這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d 均為實數 並約定該方程存在三個不同實根 根的範圍在 100 至 100 之間 且根與根之差的絕對值 ge 1 要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點...
洛谷題解 P1024 一元三次方程求解
洛谷,我的 oj,有形如 一行,4 個實數 a,b,c,d。一行,3 個實根,並精確到小數點後 2 位。1 5 4 20 2.00 2.00 5.00給了乙個特殊的一元三次方程,該方程在 100,100 之間存在 3 個不同的實根,而且實根之間差的絕對值大於等於 1。要求我們求出這 3 個實根。本題...