題目描述
有形如:\(ax^3+bx^2+cx^1+dx^0=0\) 這樣的乙個一元三次方程。給出該方程中各項的係數(\(a,b,c,d\)均為實數),並約定該方程存在三個不同實根(根的範圍在\(-100\)至\(100\)之間),且根與根之差的絕對值\(\ge 1\)。要求由小到大依次在同一行輸出這三個實根(根與根之間留有空格),並精確到小數點後\(2\)位。
輸入格式
一行,\(4\)個實數\(a,b,c,d\)。
輸出格式
一行,\(3\)個實根,並精確到小數點後\(2\)位。
這個方法確實有點大材小用
#include#include#include#include#include#includeusing namespace std;
#define db double
#define int long long
const db eps=1e-6;
db a,b,c,d;
inline db f(db x)
inline db df(db x)
inline db new(db x)
return xn;
}vectora;
signed main()
P1024 一元三次方程求解
傳送門 這道題看了題解,理解了一些,因為根x1與根x2之差絕對值大於等於1,只要符合f x1 f x2 0,那麼就在這個區間進行二分減小範圍 include using namespace std double a,b,c,d int s doublefc double x double binar...
一元三次方程求解 洛谷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之間 且根與根之差的絕對值 1。要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點後2位...