2031 求一元三次方程的解

2022-05-22 02:54:07 字數 868 閱讀 8955

time limit: 3 second

memory limit: 2 mb

有形如ax^3+bx^2+cx+d=0的乙個一元三次方程。給出該方程中各項的係數(a,b,c,d均為實數),並約定該方程存在三個不同實根(根的範圍在-100至100之間),且根與根之差的絕對值≥1。要求由小到大依次在同一行輸出這三個實根。(根與根之間留有空格),並精確到小數點後2位。

輸入檔案僅一行

依次輸入a,b,c,d用空格隔開

輸出僅一行,三個實根(根與根之間留有空格,最後用回車結束)

1 -5 -4 20
-2.00 2.00 5.00

【題解】

從-10000列舉到10000,然後除100,得到的就是-100.00到100.00,然後代入f函式,算出函式值,每次取兩個值f(x1),f(x2),如果f(x1)*f(x2)<0,則表明x1-x2之間有乙個解,這裡我直接輸出x1。因為是浮點數 所以等號無效。則相等要寫成f(x)-0<0.000.......這樣的形式.判斷一下f(x1)或f(x2)是否近似等於0,如果是則直接輸出x1或x2.

【**】

#include double a,b,c,d;

double ans[100];

int number = 0;

void input_data()

double get_number(double x) //計算f(x)函式

void get_ans()

else

i+=98; //有提到兩個解之間的差》1,則直接+100

} else

i++;

}}void output_ans()

int main()

codeves天梯 解一元三次方程

有形如 ax3 bx2 cx d 0 這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d 均為實數 並約定該方程存在三個不同實根 根的範圍在 100 至100之間 且根與根之差的絕對值 1 要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點後2位。f x 0 若存...

一元三次方程重根判別式 一元三次方程快速解法

一元三次方程快速解法2019 09 23 10 25 31文 陶凱月 一元三次方程沒有快速解法,用根號解一元三次方程,有著名的卡爾丹公式,但使用卡爾丹公式解題比較複雜,缺乏直觀性。範盛金推導出一套直接用a b c d表達的較簡明形式的一元三次方程的一般式新求根公式 盛金公式。盛金定理 當b 0,c ...

一元三次方程重根判別式 如何求一元三次方程

我們知道,一元二次方程 一元三次方程 1 為了解最初的方程,我們可以先考慮將方程變形成 2 這個形式可以進一步化簡。回顧一元二次方程的求根公式,我們採用的是配方法,將其變成和的平方的形式然後開方即可得到求根公式,這裡最高次是3次,所以我們可以考慮配立方。因為 和1中的式子比較發現,我們可以把 這項併...