NOI 20 求一元二次方程的根

2021-07-25 19:45:51 字數 753 閱讀 7507

描述

利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等於0。

輸入 輸入一行,包含三個浮點數a, b, c(它們之間以乙個空格分開),分別表示方程ax2 + bx + c =0的係數。

輸出 輸出一行,表示方程的解。

若b2 = 4 * a * c,則兩個實根相等,則輸出形式為:x1=x2=…。

若b2 > 4 * a * c,則兩個實根不等,則輸出形式為:x1=…;x2 = …,其中x1>x2。

若b2 < 4 * a * c,則有兩個虛根,則輸出:x1=實部+虛部i; x2=實部-虛部i,即x1的虛部係數大於等於x2的虛部係數,實部為0時不可省略。實部 = -b / (2*a), 虛部 = sqrt(4*a*c-b*b) / (2*a)

所有實數部分要求精確到小數點後5位,數字、符號之間沒有空格。

其實就是套公式

去年能wa4次我也不太清楚自己怎麼做到的;)

#include

#include

using namespace std;

double a,b,c;

int main()

if(b*b>4

*a*c)

if(b*b

<4

*a*c)

return

0;}

20 求一元二次方程的根

原題鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 利用公式x1 b sqrt b b 4 a c 2 a x2 b sqrt b b 4 a c 2 a 求一元二次方程ax2 bx c 0的根,其中a不等於0。輸入輸入一行,包含三個浮點數a,b,c 它們之間以乙個空格分開 分別表...

20 求一元二次方程的根

描述 利用公式x1 b sqrt b b 4 a c 2 a x2 b sqrt b b 4 a c 2 a 求一元二次方程ax2 bx c 0的根,其中a不等於0。輸入輸入一行,包含三個浮點數a,b,c 它們之間以乙個空格分開 分別表示方程ax2 bx c 0的係數。輸出輸出一行,表示方程的解。若...

求一元二次方程的根

求一元二次方程的根 總時間限制 1000ms 記憶體限制 65536kb 描述 利用公式x1 b sqrt b b 4 a c 2 a x2 b sqrt b b 4 a c 2 a 求一元二次方程ax2 bx c 0的根,其中a不等於0。輸入 輸入一行,包含三個浮點數a,b,c 它們之間以乙個空格...