求一元二次方程式 ax2+bx+c=0 的根

輸入說明
每組輸入共一行,內含三個整數 a, b, c 以空白隔開。

輸出說明
Two different roots x1=?? , x2=??

Two same roots x=??

No real root

PS: 答案均為整數,若有兩個根則大者在前


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import math # 引入 math 模組

# 讀入三個整數 a, b, c,使用 map() 函式將輸入轉換成整數
a,b,c=map(int,input().split())

# 計算判斷式 d_check 的值
d_check=b*b-4*a*c

# 判斷 d_check 的值,並輸出結果
if d_check < 0 : # 判斷 d_check 是否小於 0,若是則無實數解
print("No real root")
elif d_check == 0 : # 判斷 d_check 是否等於 0,若是則有相同的兩個解
print("Two same roots x=" + str(-b//(2*a))) # 計算出相同解的值,並輸出結果
else : # 若 d_check 大於 0,則有兩個不同的實數解
d_check=int(math.sqrt(d_check)) # 計算出根號下的值(默認為 float),並轉換成整數 int
print("Two different roots x1="+str((-b+d_check)//(2*a))+" , x2="+str((-b-d_check)//(2*a))+"")


# ans_1=(-b+math.sqrt(b*b-4*a*c))//(2*a)
# ans_2=(-b-math.sqrt(b*b-4*a*c))//(2*a)

a006. 一元二次方程式



作者: 微風