思維之花 方程

2021-10-01 07:08:08 字數 1755 閱讀 9673

題目描述

輸入資料

輸入該方程中各項的係數 (a , b , c , d 均為實數),

輸出資料

由小到大依次在同一行輸出這三個實根(根與根之間留有空格),並精確到小數點後 2 位。

樣例輸入

1-5

-420

樣例輸出
-

2.00

2.00

5.00

程式分析1

class

solveequation

: rootnum =

0 rootlist =

deff

(self, x)

:return a *

pow(x,3)

+ b *

(x **2)

+ c * x + d

defbisearch

(self, ld, rd)

:# 呼叫這個函式說明(ld,rd)區間內一定有解

# 有兩個遞迴出口

ifabs

(ld - rd)

<

0.001

:# 若解沒有落在端點上,而是再(ld,rd)之間,在滿足精度的條件下,就可以用ld或rd當作答案

self.rootnum +=

1# print("%.2f" % ld)

format

(ld,

".2f"))

return

mid =

(ld + rd)/2

if self.f(mid)==0

:# 解落在了端點上

self.rootnum +=

1# print("%.2f" % mid)

format

(mid,

".2f"))

return

if self.f(ld)

* self.f(mid)

<0:

self.bisearch(ld, mid)

else

: self.bisearch(mid, rd)

a, b, c, d =

map(

float

,input()

.split())

se = solveequation(

)for i in

range(-

100,

100)

: ld, rd = i, i +

1if se.f(ld)==0

:# 判斷左端點是解,通過for迴圈可以依次遍歷所有端點

# print("%.2f" % ld)

format

(ld,

".2f"))

se.rootnum +=

1continue

if se.f(ld)

* se.f(rd)

<0:

# <0表示區間(ld,rd)內一定存在乙個解,但是沒有考慮到端點可能是解,需要額外判斷

se.bisearch(ld, rd)

if se.rootnum ==3:

break

for i in

range(2

):print

(se.rootlist[i]

, end=

' ')

print

(se.rootlist[2]

)

↩︎

Broken Flowers 破碎之花

破碎之花 電影劇照 16張 已是中年的唐喬納森 比爾莫瑞 至今仍忍受著單身的孤獨生活,雖然交過的女友不少,但卻沒有乙個能與他堅持到步入婚姻殿堂的地步。可謂倒霉至極!如今,不幸的他剛又被上乙個女朋友 朱 莉 甩掉,沒辦法,喬納森只好重又回到自己的世界當中忍受孤獨,並決心將一切生活重心都放在事業上面。然...

雙響炮之花感

終於看完了雙響炮.一直徘徊在感情的漩渦,剪不斷,理還亂.至此忽然變得清晰了.他愛不愛你,你愛不愛他?看看自己在對方心目中的地位就知道了.放空.也許這也是愛的真諦吧.真正的愛情,至死不渝的愛情應該是怎樣的呢?象英雄和呂霞那樣心心相印,為對方可以捨棄自己的一切的愛在現實中也有麼?還是說只有生死才是它的試...

MATLAB之方程式求根

1.syms x 標明變數x是乙個符號變數 2.solve y,x 求y 0時,x的取值,預設的自變數為x 1.解單個方程 係數已知 syms s y s sin s s solve y,s ans 0pi 2 y cos s 2 sin s 2 solve y ans pi 4 2.解聯立方程 係...