解题思路:
注意事项:
参考代码:
import cmath
def greater_p(a,b,c):
p = b**2-4*a*c
x1 = (-b + cmath.sqrt(p)) / (2*a)
x2 = (-b - cmath.sqrt(p)) / (2*a)
return x1,x2
def loss_p(a,b,c):
p = b**2-4*a*c
x1 = (-b + cmath.sqrt(p)) / (2*a)
x2 = (-b - cmath.sqrt(p)) / (2*a)
return x1,x2
def equal_p(a,b,c):
x = -b/(4*a)
return x,x
def main():
a,b,c=map(int,input().strip().split())
p = b**2-4*a*c
if p > 0:
x1,x2 = greater_p(a,b,c)
print(f"x1={x1:.3f} x2={x2:.3f}")
elif p == 0:
x1,x2 = equal_p(a,b,c)
print(f"x1={x1:.3f} x2={x2:.3f}")
else:
x1,x2 = loss_p(a,b,c)
if x1.imag < 0 and x2.imag < 0:
print(f"x1={x1.real:.3f}{x1.imag:.3f}i x2={x2.real:.3f}{x2.imag:.3f}i")
elif x1.imag > 0 and x2.imag < 0:
print(f"x1={x1.real:.3f}+{x1.imag:.3f}i x2={x2.real:.3f}{x2.imag:.3f}i")
elif x1.imag > 0 and x2.imag > 0:
print(f"x1={x1.real:.3f}+{x1.imag:.3f}i x2={x2.real:.3f}+{x2.imag:.3f}i")
elif x1.imag < 0 and x2.imag > 0:
print(f"x1={x1.real:.3f}{x1.imag:.3f}i x2={x2.real:.3f}+{x2.imag:.3f}i")
if __name__ == "__main__":
main()
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复