洛谷 P1024 一元三次方程求解 二分 列舉

2021-10-04 19:24:32 字數 1345 閱讀 2426

有形如: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 個實根。本題...