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"來取代。
文章標籤
全站熱搜