close

【題目】https://zerojudge.tw/ShowProblem?problemid=a006

【解題思路】

1. 首先判斷方程式是否有實數解?
若(b*b-4*a*c)>=0,則有實數解;反之,則無實數解。

2.計算方程式解:
x=(-b+(4*a*c)^0.5)/(2*a) or (-b-(4*a*c)^0.5)/(2*a)

3.在Python中,根號用法為num**0.5,"**"表示次方,0.5次方就是開根號。


【C】


【C++】


【Python】

import sys
for line in sys.stdin:
    a,b,c=line.split()
    a,b,c=float(a),float(b),float(c)
    if (b*b-4*a*c)>=0:
        ans1=int((-b+((b*b-4*a*c)**0.5))/(2*a))
        ans2=int((-b-((b*b-4*a*c)**0.5))/(2*a))
        if ans1!=ans2:
            print("Two different roots x1="+str(ans1)+" , x2="+str(ans2))
        elif ans1==ans2:
            print("Two same roots x="+str(ans1))
    else:
        print("No real root")


【延伸內容】

Python中也有數學函式庫,所以使用導入函式庫,就可以使用裡面的函式,例如此題需要求平方根,也可以使用下面方法↓

import math
n=1000
math.sqrt(n)

可是導入函式庫需要更多時間與空間,所以可以使用"**0.5"來取代。

 
arrow
arrow

    jane8366608 發表在 痞客邦 留言(0) 人氣()