题目描述
求方程y=ax2+bx+c
的根,用三个函数分别求当b2−4ac
大于0
、等于0
、和小于0
时的根,并输出结果。从主函数输入a
、b
、c
的值。
输入
a
b
c
输出
一元二次方程的俩个根 "x1=?x2=?"
样例输入
4 1 1
样例输出
x1=-0.125+0.484i x2=-0.125-0.484i
import math
def fun1(a,b,c,n):
x1=(-b+n**0.5)/(2*a)
x2=(-b-n**0.5)/(2*a)
print(f"{x1:.6f}{x2:.6f}")
def fun2(a,b):
x=(-b)/(2*a)
print(f"{x:.6f}{x:.6f}")
def fun3(a,b,c,n):
shi = -1 * b/ (2 * a)
xu = math.sqrt(-1 * n) / (2 * a)
print(f'x1={shi:.3f}+{xu:.3f}i x2={shi:.3f}-{xu:.3f}i')
def main():
a,b,c=map(int,input().split())
n=b**2-4*a*c
if n>0:
fun1(a,b,c,n)
if n==0:
fun2(a,b)
if n<0:
fun3(a,b,c,n)
if __name__ == '__main__':
main()