求ax2+bx+c=0方程的實根。a,b,c由鍵盤輸入. 解方程要考慮系數a等於零的情況。a等於零有兩種情況(b==0,b!=0),a不等於零有三種情況(delta>0、==0、<0),先計算得到根x1、x2,再輸出
輸入格式:
輸入三個數a,b,c。
輸出格式:
輸出方程的實根(保留兩位小數),如果方程有1個實根,則輸出根;如果方程有2個不等實根,則一起輸出(使用空格分開),先輸出較大根,后輸出較小根。 其余情況(如無實根等)則輸出No。
輸入樣例:
1 -3 2
輸出樣例:
2.00 1.00
import math
a,b,c=map(int,input().split())#求ax2+bx+c=0方程的實根。a,b,c由鍵盤輸入.
d = (b**2)-(4*a*c)
if a == 0:#解方程要考慮系數a等於零的情況
if b!=0:
print('{:.2f}'.format(-(c/b)))
elif b==0:
print('No')
elif a != 0:
if d>0:
x1=((-b+math.sqrt(d))/(2*a))
x2=((-b-math.sqrt(d))/(2*a))
if x1>x2:
print('%.2f'%(x1),end=' ')
print('%.2f'%(x2))
elif x1<x2:
print('%.2f'%(x2),end=' ')
print('%.2f'%(x1))
elif d==0:
print('{:.2f}'.format((-b-math.sqrt(b**2-4*a*c))/(2*a)))
elif d<0 :
print('No')
