P1024 一元三次方程求解 牛頓迭代法

2022-03-09 18:14:46 字數 639 閱讀 1339

題目描述

有形如:\(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位...