有形如:
ax3+bx2+cx+d=0
這樣的乙個一元三次方程。給出該方程中各項的係數(a,
b,c,
d 均為實數
),並約定該方程存在三個不同實根
(根的範圍在
-100
至100之間)
,且根與根之差的絕對值
>=1
。要求由小到大依次在同一行輸出這三個實根
(根與根之間留有空格
),並精確到小數點後2位。
f(x)=0
,若存在2個數
x1和x2,且
x1,f(x1)*f(x2)<0
,則在(x1
,x2)
之間一定有乙個 根。
分析:其實很暴力,就是用分治思想。將10000個數二分查詢答案,資料不難,時間還是過得去==。值得注意的倒是精度問題(錯了兩次都是精度都被卡爆了,下面這種寫法是比較推薦的保留小數,基本上不會出精度問題)
const
e=1e-3;
var a,b,c,d,l,r,m:extended;
i,j:longint;
function f(x:extended):extended;
begin
f:=a*x*x*x+b*x*x+c*x+d;
end;
begin
readln(a,b,c,d);
for i:=-100 to 100 do
begin
if f(i)*f(i-1)<0 then
begin
l:=i-1;
r:=i;
repeat
m:=(l+r)/2;
if f(m)*f(l)<0 then
r:=m
else
if f(m)=0 then
begin
l:=m;
break;
end else
l:=m;
until abs(l-r)
一元三次方程重根判別式 一元三次方程快速解法
一元三次方程快速解法2019 09 23 10 25 31文 陶凱月 一元三次方程沒有快速解法,用根號解一元三次方程,有著名的卡爾丹公式,但使用卡爾丹公式解題比較複雜,缺乏直觀性。範盛金推導出一套直接用a b c d表達的較簡明形式的一元三次方程的一般式新求根公式 盛金公式。盛金定理 當b 0,c ...
2031 求一元三次方程的解
time limit 3 second memory limit 2 mb 有形如ax 3 bx 2 cx d 0的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d均為實數 並約定該方程存在三個不同實根 根的範圍在 100至100之間 且根與根之差的絕對值 1。要求由小到大依次在同一行輸出這...
一元三次方程求解
有形如 ax 3 bx 2 cx d 0這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d均為實數 並約定該方程存在三個不同實根 根的範圍在 100至100之間 且根與根之差的絕對值 1。要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點後2位。輸入有多行測試資料...